Slava Pestov
|
d0c393aa60
|
compiler.cfg: new system to track when results of analyses need to be recomputed (reverse post order, linear order, predecessors, dominance, loops). Passes can now call needs-predecessors, needs-dominance, needs-loops at the beginning, and cfg-changed, predecessors-changd at the end. Linearization order now takes loop nesting into account, and linear scan now uses linearization order instead of RPO.
|
2009-08-08 20:02:56 -05:00 |
Slava Pestov
|
725280d424
|
Split off the notion of a register representation from a register class
|
2009-08-07 17:44:50 -05:00 |
Slava Pestov
|
e76dce8aff
|
Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint
|
2009-07-16 18:29:40 -05:00 |
Slava Pestov
|
9f926ab88c
|
compiler.cfg.block-joining: join basic blocks connected by a single edge to improve effectiveness of local optimizations
|
2009-07-16 02:17:58 -05:00 |
Slava Pestov
|
608fb054f2
|
compiler.cfg: Some code cleanups, update stack-analysis and phi-insertion to work on CFGs with critical edges
|
2009-07-12 22:22:46 -05:00 |
Slava Pestov
|
f412bbc6d6
|
Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it
|
2009-06-30 22:11:15 -05:00 |
Slava Pestov
|
3da560130a
|
compiler.cfg.tco: fix tail call optimization for ##fixnum-mul
|
2009-06-30 21:08:08 -05:00 |
Slava Pestov
|
5c6c3ecd85
|
compiler.cfg.tco: Tail call optimization moved out of compiler.cfg.builder into its own pass
|
2009-06-30 20:13:35 -05:00 |