Slava Pestov
|
3d66820344
|
FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions
|
2010-05-09 21:36:52 -04:00 |
Slava Pestov
|
88d15dfbea
|
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
|
8028eb5776
|
compiler.cfg: clean up unit tests using some new utilities
|
2009-08-02 03:49:25 -05:00 |
Slava Pestov
|
68d06c4b06
|
compiler.cfg.linear-scan.assignment: modifies instructions in place instead of storing a registers assoc for further compile-time performance improvement
|
2009-07-29 06:36:14 -05:00 |
Slava Pestov
|
8f08ce94fa
|
compiler.cfg.branch-splitting: re-enable with a better heuristic
|
2009-07-28 08:48:05 -05:00 |
Slava Pestov
|
67c53c85b1
|
compiler.cfg.branch-splitting: now that we do SSA construction we can split branches with fixnum overflow ops (which have a live-out)
|
2009-07-23 18:02:29 -05:00 |
Slava Pestov
|
99faf3c79f
|
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
|
1d29dfa2d6
|
compiler.cfg.branch-splitting: don't split if there's one predecessor
|
2009-07-14 20:42:50 -05:00 |
Slava Pestov
|
01f9addc3a
|
compiler.cfg.branch-splitting: split blocks with successors
|
2009-07-13 10:44:08 -05:00 |
Slava Pestov
|
139bb68f8e
|
Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it
|
2009-06-30 22:11:15 -05:00 |
Doug Coleman
|
5ae6eb089d
|
add branch splitting pass to compiler.cfg
|
2009-06-30 15:31:48 -05:00 |