factor/basis/compiler/cfg
Slava Pestov 5a3c5c7749 compiler.cfg.branch-splitting was totally broken 2011-02-27 16:43:26 -08:00
..
alias-analysis compiler.cfg.alias-analysis: fix bug in lazy alias class instantiation 2010-09-27 20:12:43 -07:00
block-joining Revert "compiler.cfg: change linear ordering to place GC call blocks at the end" 2010-07-27 23:58:41 -04:00
branch-splitting compiler.cfg.branch-splitting was totally broken 2011-02-27 16:43:26 -08:00
build-stack-frame compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
builder compiler.cfg.branch-splitting was totally broken 2011-02-27 16:43:26 -08:00
checker FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions 2010-05-09 21:36:52 -04:00
comparisons New GC checks work in progress 2010-05-03 17:34:16 -04:00
copy-prop compiler.cfg: now that kill-blocks cannot contain instructions that define vregs we can skip them all 2010-07-27 12:40:31 -04:00
dataflow-analysis FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions 2010-05-09 21:36:52 -04:00
dce compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there 2010-08-13 23:19:56 -07:00
debugger math.libm: fix regression: fsqrt intrinsic was not working ever since change was made to inline FUNCTION: bodies 2010-08-12 21:41:57 -07:00
def-use compiler.cfg: now that kill-blocks cannot contain instructions that define vregs we can skip them all 2010-07-27 12:40:31 -04:00
dependence compiler.cfg.dependence: compute dependency graph for write barrier instructions 2010-09-05 22:51:17 -07:00
dominance Moving new-sets to sets 2010-02-26 16:01:01 -05:00
finalization compiler.cfg: fix major facepalm with write barrier elimination 2010-09-05 21:39:45 -07:00
gc-checks compiler.cfg: Reading the return value of a float-returning function on x86-32 had a side effect of popping the x87 stack, so it was not correct for DCE to just eliminate this if the return value was not used. Fix this by adding a new dead-outputs slot to alien-call-insns and having DCE move dead returns there 2010-08-13 23:19:56 -07:00
hats compiler: re-architect low-level optimizer to allow more than one output value per instruction 2010-07-13 07:40:14 -04:00
height compiler.cfg.height: clean it up a bit 2010-06-22 04:14:03 -04:00
instructions compiler: preliminary implementation of tracking derived pointers in GC maps 2010-09-27 20:12:44 -07:00
intrinsics compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
linear-scan compiler.cfg.linear-scan: extend lifetime intervals of base pointers correctly (reported by Anton Gorenko) 2010-09-30 20:49:03 -07:00
linearization Revert "compiler.cfg: change linear ordering to place GC call blocks at the end" 2010-07-27 23:58:41 -04:00
liveness compiler: preliminary implementation of tracking derived pointers in GC maps 2010-09-27 20:12:44 -07: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: fix major facepalm with write barrier elimination 2010-09-05 21:39:45 -07: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 compiler.cfg.value-numbering: fix typo in unit test 2010-05-03 22:11:29 -04:00
renaming compiler: re-architect low-level optimizer to allow more than one output value per instruction 2010-07-13 07:40:14 -04:00
representations compiler.cfg: now that kill-blocks cannot contain instructions that define vregs we can skip them all 2010-07-27 12:40:31 -04:00
rpo compiler.cfg: more silly optimizations 2010-05-14 18:37:09 -04:00
save-contexts compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
scheduling compiler.cfg.scheduling: always run scheduling because heuristic was broken 2010-09-25 16:31:42 -07:00
ssa compiler.cfg.ssa.construction: update unit tests for nths change 2011-02-25 21:05:38 -08:00
stack-frame Stack allocation improvements 2010-05-22 02:37:00 -04:00
stacks compiler.cfg.ssa: fixing test failures 2010-06-15 17:18:51 -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 FFI rewrite part 6: deconcatenatize 2010-07-02 15:44:12 -04:00
value-numbering compiler: re-architect low-level optimizer to allow more than one output value per instruction 2010-07-13 07:40:14 -04:00
write-barrier compiler.cfg.write-barrier: fix soundness issue with ##copy that never came up but probably should've been fixed anyway 2010-09-06 17:01:44 -07:00
cfg.factor Stack allocation improvements 2010-05-22 02:37:00 -04:00
summary.txt Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00