| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
More compiler driver cleanup: Stop only has Return inputs, never an expr. Drop extra lexical scope. Linker table moves to CodeGen.
Replace evaluator with a simpler design; I was unable to get the current design to work with the other changes.
Updates to old eval; proper idoms; forced type checks; extensions for Fun, Return, Call, CallEnd.
Accessor find next control to execute. Accessor for deciding when its ok to optimize a Function/Return, Call/CallEnd, Stop, ScopeMin (merge)
Add local scheduling pass.
IRPrinter uses SB instead of StringBuilder
Spelling SubF comment
|
| | |
|
| | |
|
| |
|
|
| |
Remove old fixLoops, walkInfinite.
|
| |
|
|
| |
Restructure parsing declarations from assignments; allow assignments almost anywhere as a normal expression.
|
| | |
|
| | |
|
| |
|
|
| |
`i -- i` now errors instead of (sometimes) parsing as `i - -i`
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
Add a least-upper-bound to set Phis to their respective Top while preserving final fields.
Requires a ReadOnly node to "cast-away-writable".
Series of isFinal/makeRO in all Types.
Changes tests to match r/w intent.
|
| | |
|
| | |
|
| |
|
|
|
| |
Region does not print id, making all test cases much more stable (and slightly weaker).
NotNode gets more precise compute
|
| |
|
|
|
|
|
|
| |
Fields & locals with an initializer are immutable by default; those without are mutable. Make mutable with `!`. Fields are always mutable in a constructor.
Add a trinary `pred ? then : else` syntax.
SubNode retains as much precision as AddNode.
Sharpen some asserts and error cases.
Limit Load node cloning if the ptr is not obvious.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Fix eval auto-string result. Fix tests hacked because of this.
Turn on BrainFuck in ch15,16,17, also disabled because of this. Use new features in BrainFuck.
Fix bug not lifting forward refs; add a toString to Vars.
Fix some missing addDeps.
Remove large complex not-productive peep.
Upcast after "while" tests. Improves a bunch of tests.
Remove dead getBlockStart.
|
| |
|