factor/basis/compiler/cfg
Slava Pestov 279eb461b1 compiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed just as efficiently using other instructions 2010-05-03 17:34:04 -04:00
..
alias-analysis Untagged fixnums work in progress 2010-05-03 17:34:02 -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 Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S 2010-01-07 17:39:22 +13:00
builder Debugging untagged fixnums 2010-05-03 17:34:02 -04:00
checker Debugging untagged fixnums 2010-05-03 17:34:02 -04:00
comparisons memq? -> member-eq?, sorted-memq? -> sorted-member-eq? 2009-10-28 15:02:00 -05:00
copy-prop filter-here -> filter! 2009-10-28 00:44:05 -05: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 add a "test-mr." word to compiler.cfg.debugger equivalent to "test-mr mr." 2009-09-30 11:34:19 -05:00
def-use compiler.cfg.def-use uses sets 2010-03-02 19:23:34 -05:00
dominance Moving new-sets to sets 2010-02-26 16:01:01 -05:00
empty-blocks 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
gc-checks compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies 2010-05-03 17:34:01 -04:00
hats Debugging untagged fixnums 2010-05-03 17:34:02 -04:00
instructions compiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed just as efficiently using other instructions 2010-05-03 17:34:04 -04:00
intrinsics compiler.cfg: remove ##set-string-nth-fast instruction since it can be expressed just as efficiently using other instructions 2010-05-03 17:34:04 -04:00
linear-scan Untagged fixnums work in progress 2010-05-03 17:34:02 -04:00
linearization Debugging untagged fixnums 2010-05-03 17:34:02 -04:00
liveness Moving new-sets to sets 2010-02-26 16:01:01 -05:00
loop-detection Moving new-sets to sets 2010-02-26 16:01:01 -05:00
mr Fix the build 2009-09-09 13:44:54 -05:00
optimizer compiler.cfg.ssa.destruction: more aggressive coalescing work in progress 2009-09-27 17:17:26 -05: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.cfg.representations: peephole optimizations are used to simplify the case where the input to a ##shl-imm or ##sar-imm needs to be untagged 2010-05-03 17:34:03 -04:00
rpo Merge branch 'bags' of git://github.com/littledan/Factor 2010-03-16 13:28:00 -04:00
save-contexts compiler: Start using tagged-rep for stuff, and split up compiler.cfg.representations into several sub-vocabularies 2010-05-03 17:34:01 -04:00
ssa Debugging untagged fixnums 2010-05-03 17:34:02 -04:00
stack-frame cpu.x86.32: only create 16-byte parameter area if the word calls into the VM 2009-10-20 05:02:42 -05:00
stacks Debugging untagged fixnums 2010-05-03 17:34:02 -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 generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
value-numbering compiler.cfg.value-numbering: fix compile error 2010-05-03 17:34:04 -04:00
write-barrier Moving new-sets to sets 2010-02-26 16:01:01 -05:00
cfg.factor generalize stack effects so we can bootstrap with the stricter stack effect checking 2010-03-08 23:38:10 -08:00
summary.txt Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00