Commit Graph

13 Commits (6fb91a042ed3ae9cd8935718278bac7b5d9d1321)

Author SHA1 Message Date
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