Alex Vondrak
|
ff1c2c293b
|
compiler.cfg.ssa.interference.live-ranges: fix kill-indices for ##parallel-copy (issue #22)
|
2012-12-31 11:04:38 -08:00 |
Slava Pestov
|
ec2f42fd40
|
compiler.cfg.liveness: merge in compiler.cfg.liveness.ssa and simplify the code, since we don't compute live sets before SSA construction anymore
|
2010-09-25 14:36:58 -07:00 |
Slava Pestov
|
355d89e8e8
|
compiler.cfg: now that kill-blocks cannot contain instructions that define vregs we can skip them all
|
2010-07-27 12:40:31 -04:00 |
Slava Pestov
|
e27adb2830
|
compiler: re-architect low-level optimizer to allow more than one output value per instruction
|
2010-07-13 07:40:14 -04:00 |
Slava Pestov
|
5d6816d364
|
compiler.cfg.ssa: fixing test failures
|
2010-06-15 17:18:51 -04:00 |
Slava Pestov
|
41d929a201
|
compiler.cfg.ssa.interference: implement linear-time interference test
|
2010-05-17 05:50:13 -04:00 |
Slava Pestov
|
6b7260a4a7
|
compiler.cfg.ssa.interference.live-ranges: compute correct live ranges for ##phi instructions
|
2010-05-17 05:50:13 -04:00 |
Slava Pestov
|
291543c300
|
compiler.cfg.ssa.live-ranges: clean up
|
2010-05-14 18:37:08 -04:00 |
Slava Pestov
|
95ff5ffe51
|
New GC checks work in progress
|
2010-05-03 17:34:16 -04:00 |
Slava Pestov
|
1e841e5086
|
compiler.cfg.ssa.destruction: more aggressive coalescing work in progress
|
2009-09-27 17:17:26 -05:00 |
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
|
4b7ba38aab
|
compiler.cfg: virtual registers are integers now, and representations are stored off to the side. Fix bug in representation selection that would manifest if a value was used as a float and a fixnum in different branches; cannot globally unbox float in this case
|
2009-08-08 04:02:18 -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
|
370f4c081d
|
compiler.cfg: convert code into two-operand form before SSA destruction; SSA destruction now operates on a relaxed SSA form where multiple defs of the same vreg are allowed, but only within a single basic block. This makes linear scan's coalescing redundant, allowing it to be removed completely
|
2009-08-05 18:57:46 -05:00 |
Joe Groff
|
7c5ef08aab
|
[ [ ... ] compare ] sort => [ ... ] sort-with
|
2009-08-02 20:09:23 -05:00 |
Slava Pestov
|
ba55633b19
|
compiler.cfg.ssa.interference: cleanup
|
2009-08-02 10:35:02 -05:00 |
Slava Pestov
|
82c1106945
|
compiler.cfg.ssa.destruction: new implementation: simpler and more correct
|
2009-08-02 10:26:52 -05:00 |
Slava Pestov
|
cff5976a0d
|
Move compiler.cfg.ssa.destruction.interference to compiler.cfg.ssa.interference
|
2009-08-02 08:15:36 -05:00 |