.. |
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.linearization: rotate loops. 2x speedup with empty times loop, 1.5x speedup on benchmark.dawes
|
2009-07-28 21:31:08 -05:00 |
branch-splitting
|
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 |
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: Rename ssa to ssa.construction, coalescing to ssa.destruction
|
2009-07-28 09:34:08 -05:00 |
checker
|
compiler.cfg: Minor optimization. Instructions can now only ever produce a single value; this eliminates 1array constructions and some iterations
|
2009-07-28 12:29:07 -05:00 |
comparisons
|
compiler.cfg: split off condition codes into a comparisons sub-vocabulary
|
2009-07-13 14:42:52 -05:00 |
copy-prop
|
compiler.cfg.copy-prop: remove ##phi nodes where all inputs are copy-equivalent
|
2009-07-26 21:11:02 -05:00 |
critical-edges
|
compiler.cfg.critical-edges: reset RPO
|
2009-07-28 01:04:13 -05:00 |
dataflow-analysis
|
Fix bootstrap
|
2009-07-22 03:26:27 -05:00 |
dce
|
compiler.cfg: change representation of ##phi nodes. The input slot of ##phi nodes is now an assoc mapping predecessors to values, rather than a sequence of values. This ensures that optimization which delete predecessors can be implemented
|
2009-07-02 17:10:50 -05:00 |
debugger
|
compiler.cfg.debugger: reset vreg counters
|
2009-07-27 22:28:13 -05:00 |
def-use
|
compiler.cfg: Minor optimization. Instructions can now only ever produce a single value; this eliminates 1array constructions and some iterations
|
2009-07-28 12:29:07 -05:00 |
dominance
|
compiler.cfg.ssa.construction: Use TDMSC algorithm to compute Phi placement
|
2009-07-28 11:16:10 -05:00 |
empty-blocks
|
compiler.cfg.empty-blocks: new pass to delete empty blocks, runs after phi elimination
|
2009-07-23 18:02:46 -05:00 |
gc-checks
|
compiler.cfg: clean up GC check generation to use spill-slot data type
|
2009-07-03 23:11:23 -05:00 |
hats
|
compiler.cfg: introduce less temporaries when building CFG
|
2009-07-24 03:37:18 -05:00 |
instructions
|
compiler.cfg: remove 'regs' slot from instruction tuples now that register allocation doesn't use it anymore
|
2009-07-29 06:50:46 -05:00 |
intrinsics
|
compiler.cfg: introduce less temporaries when building CFG
|
2009-07-24 03:37:18 -05:00 |
linear-scan
|
compiler.cfg.linear-scan: more test fixes
|
2009-07-29 07:04:52 -05:00 |
linearization
|
compiler.cfg: remove 'regs' slot from instruction tuples now that register allocation doesn't use it anymore
|
2009-07-29 06:50:46 -05:00 |
liveness
|
compiler.cfg: Minor optimization. Instructions can now only ever produce a single value; this eliminates 1array constructions and some iterations
|
2009-07-28 12:29:07 -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
|
compiler.cfg.ssa.destruction: rename coalesce word to destruct-ssa
|
2009-07-28 12:56:33 -05:00 |
parallel-copy
|
compiler.cfg.linear-scan: fix resolve pass
|
2009-07-28 08:47:35 -05:00 |
predecessors
|
compiler.cfg.predecessors: delete dead predecessors from phi nodes
|
2009-07-03 18:45:03 -05:00 |
registers
|
compiler.cfg.registers: minor optimization
|
2009-07-21 17:49:44 -05:00 |
renaming
|
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 |
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.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 |
stack-frame
|
compiler.cfg: clean up GC check generation to use spill-slot data type
|
2009-07-03 23:11:23 -05:00 |
stacks
|
compiler.cfg: introduce less temporaries when building CFG
|
2009-07-24 03:37:18 -05:00 |
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.two-operand: make it work in more cases
|
2009-07-27 22:28:29 -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.linearization: rotate loops. 2x speedup with empty times loop, 1.5x speedup on benchmark.dawes
|
2009-07-28 21:31:08 -05:00 |
value-numbering
|
compiler.cfg.ssa.destruction: rename coalesce word to destruct-ssa
|
2009-07-28 12:56:33 -05:00 |
write-barrier
|
compiler.cfg: Fixing test failures
|
2009-07-24 06:08:07 -05:00 |
cfg-tests.factor
|
Fix conflict
|
2009-06-30 21:37:49 -05:00 |
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
|
Add summary for heaps more vocabs
|
2009-02-16 21:05:13 -06:00 |