factor/basis/compiler/cfg
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
..
alias-analysis Move liveness back to compiler.cfg.liveness, fix a corner-case where it didn't work on some forms of non-SSA code 2009-07-22 06:07:28 -05:00
block-joining compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block 2009-07-19 20:12:04 -05:00
branch-splitting 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
build-stack-frame compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block 2009-07-19 20:12:04 -05:00
builder compiler.cfg.builder: Fix construction of ##return instructions from #return-recursive nodes 2009-07-22 19:17:21 -05:00
checker compiler.cfg.checker: eliminate dead code before checking MR 2009-07-22 19:17:57 -05:00
comparisons compiler.cfg: split off condition codes into a comparisons sub-vocabulary 2009-07-13 14:42:52 -05:00
copy-prop
dataflow-analysis Fix bootstrap 2009-07-22 03:26:27 -05:00
dce
dcn Fixing compiler tests 2009-07-22 21:10:50 -05:00
debugger compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
def-use Removed unused code from compiler.cfg.def-use 2009-07-22 06:05:33 -05:00
dominance compiler.cfg.dominance: fix unit tests 2009-07-22 06:19:31 -05:00
gc-checks
hats Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases 2009-07-16 23:50:48 -05:00
instructions Insert _loop-entry in linearization pass instead of in CFG builder, so that optimizations don't have to worry about it 2009-07-22 06:05:17 -05:00
intrinsics compiler.cfg.intrinsics: Disable inline allocation for now 2009-07-22 21:11:06 -05:00
linear-scan Move liveness back to compiler.cfg.liveness, fix a corner-case where it didn't work on some forms of non-SSA code 2009-07-22 06:07:28 -05:00
linearization Insert _loop-entry in linearization pass instead of in CFG builder, so that optimizations don't have to worry about it 2009-07-22 06:05:17 -05:00
liveness Move liveness back to compiler.cfg.liveness, fix a corner-case where it didn't work on some forms of non-SSA code 2009-07-22 06:07:28 -05:00
mr compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
optimizer Insert _loop-entry in linearization pass instead of in CFG builder, so that optimizations don't have to worry about it 2009-07-22 06:05:17 -05:00
phi-elimination compiler.cfg: Fix unit tests 2009-07-21 22:25:19 -05:00
predecessors
registers compiler.cfg.registers: minor optimization 2009-07-21 17:49:44 -05:00
renaming compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
rpo compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
ssa compiler.cfg.ssa: now builds pruned SSA form 2009-07-22 06:08:04 -05:00
stack-frame
stacks
tco 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
two-operand compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
useless-conditionals 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
utilities compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block 2009-07-19 20:12:04 -05:00
value-numbering compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
write-barrier compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
cfg-tests.factor
cfg.factor 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
summary.txt