factor/basis/compiler/cfg
Slava Pestov e21ca289c3 compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
..
alias-analysis Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -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: clean up unit tests using some new utilities 2009-08-02 03:49:25 -05:00
build-stack-frame Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
builder compiler.cfg.stacks: more accurate deconcatenatization inserts fewer partially redundant ##peeks. 11% improvement on benchmark.beust2, 2% reduction in ##peek and ##replace instructions inserted 2009-08-03 07:08:28 -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: eliminate phi nodes that have the same inputs as a previous phi node in the basic block 2009-08-01 22:33:27 -05:00
dataflow-analysis Fix bootstrap 2009-07-22 03:26:27 -05:00
dce Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
debugger Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
def-use Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
dominance compiler.cfg: clean up unit tests using some new utilities 2009-08-02 03:49:25 -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 Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
hats compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
instructions compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
intrinsics compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
linear-scan Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
linearization Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
liveness Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
loop-detection compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
mr Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
optimizer compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
parallel-copy Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
predecessors compiler.cfg.utilities: add each-phi combinator to iterate over all ##phi instructions in a basic block 2009-08-02 06:16:58 -05:00
registers compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
renaming Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
representations compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -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.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -05:00
stack-frame Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
stacks Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
tco Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
two-operand Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -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.ssa.destruction.copies: factor out add-instructions combinator into compiler.cfg.utilities 2009-08-02 08:20:50 -05:00
value-numbering compiler.cfg.representations: new pass to make global unboxing decisions, relies on new compiler.cfg.loop-detection pass for loop nesting information 2009-08-08 00:24:46 -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 Split off the notion of a register representation from a register class 2009-08-07 17:44:50 -05:00
summary.txt Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00