factor/basis/compiler/cfg
Slava Pestov 4352902bb6 compiler.cfg.empty-blocks: remove unused pass 2010-05-03 18:23:54 -04:00
..
alias-analysis compiler.cfg.alias-analysis: storing a reference into an object now merges the reference's alias class with the heap alias class 2010-05-03 18:20:28 -04:00
block-joining 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
branch-splitting 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
build-stack-frame compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
builder compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
checker compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
comparisons New GC checks work in progress 2010-05-03 17:34:16 -04:00
copy-prop compiler.cfg.copy-prop: optimistic copy propagation 2010-05-03 17:34:26 -04:00
dataflow-analysis compiler.cfg.dataflow-analysis: when intersecting sets, treat uninitialized sets as universal rather than empty; reduces number of stack instructions generated by 1% 2009-08-20 18:15:41 -05:00
dce Untagged fixnums work in progress 2010-05-03 17:34:02 -04:00
debugger compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
def-use compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
dominance Moving new-sets to sets 2010-02-26 16:01:01 -05:00
finalization compiler.cfg.empty-blocks: remove unused pass 2010-05-03 18:23:54 -04:00
gc-checks compiler.cfg: clean up ##phi literals in tests 2010-05-03 17:34:24 -04:00
hats Debugging untagged fixnums 2010-05-03 17:34:02 -04:00
instructions compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
intrinsics New GC checks work in progress 2010-05-03 17:34:16 -04:00
linear-scan compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
linearization compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
liveness compiler.cfg: clean up ##phi literals in tests 2010-05-03 17:34:24 -04:00
loop-detection compiler.cfg.representations: add more peephole optimizations to reduce fixnum tagging and untagging overhead 2010-05-03 17:34:11 -04:00
optimizer compiler.cfg.empty-blocks: remove unused pass 2010-05-03 18:23:54 -04:00
parallel-copy 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
predecessors memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
registers parsed -> suffix!, add append! 2009-10-28 13:38:27 -05:00
renaming compiler.cfg: don't generate useless methods in instruction meta-programming. reduces bootstrap time 2009-11-02 20:11:29 -06:00
representations compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed 2010-05-03 17:34:35 -04:00
rpo compiler.cfg: cleanup 2010-05-03 17:34:26 -04:00
save-contexts New GC checks work in progress 2010-05-03 17:34:16 -04:00
ssa compiler.cfg: cleanup 2010-05-03 17:34:26 -04:00
stack-frame compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
stacks compiler.cfg: fuse ##load-integer/##load-reference into ##replace to form ##replace-imm 2010-05-03 17:34:28 -04:00
tco generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
useless-conditionals Debugging untagged fixnums 2010-05-03 17:34:02 -04:00
utilities New GC checks work in progress 2010-05-03 17:34:16 -04:00
value-numbering compiler: new "binary literal area" at the end of a word's machine code stores constant floats and SIMD vectors; this allows ##load-reference/##load-memory fusion to be performed on x86-64, with a RIP-relative address reaching the data; also simplifies VM since custom relocation types used by the previous 32-bit-only optimization are no longer needed 2010-05-03 17:34:35 -04:00
write-barrier compiler.cfg: cleanup 2010-05-03 17:34:26 -04:00
cfg.factor compiler: remove flat machine representation and generate code directly from the CFG 2010-05-03 17:34:32 -04:00
summary.txt