Björn Lindqvist
|
054982f24a
|
compiler.cfg.*: docs for compiler.cfg.dominance and compiler.cfg.ssa.construction
|
2014-12-11 14:30:46 +01:00 |
Björn Lindqvist
|
8744d908b6
|
compiler.cfg.*: fix stack effect of compiler passes in optimize-cfg
since they all modify the cfg in place, it is better if their stack
effect is ( cfg -- ) instead of ( cfg -- cfg' )
|
2014-12-11 14:30:45 +01:00 |
John Benediktsson
|
93fb7805b0
|
compiler: more use of ?adjoin.
|
2013-03-23 17:47:07 -07:00 |
John Benediktsson
|
c7c951f207
|
compiler.cfg.ssa.construction: more use of hash-sets.
|
2013-03-10 10:03:11 -07:00 |
John Benediktsson
|
88626d38ca
|
compiler.cfg.ssa.construction: more use of hash-sets.
|
2013-03-08 12:24:06 -08:00 |
Slava Pestov
|
910748819d
|
Now that #foo and ##foo are symbols we can remove a bunch of \
|
2011-11-12 22:04:26 -08:00 |
John Benediktsson
|
4baf14972f
|
sequences: adding ?last for symmetry.
|
2011-10-13 13:04:24 -07:00 |
Joe Groff
|
2bd6de9a02
|
slots: pre-create the "at", "nth", and "global" slots to make deterministic the currently nondeterministic ambiguity between accessors:change-* and assocs:change-at, sequences:change-nth, and namespaces:change-global
|
2011-09-19 10:03:43 -07:00 |
Slava Pestov
|
8bc2ea7a5c
|
compiler.cfg.ssa.construction: use the baller method for pruned SSA
|
2010-09-20 21:36:22 -07:00 |
Slava Pestov
|
e27adb2830
|
compiler: re-architect low-level optimizer to allow more than one output value per instruction
|
2010-07-13 07:40:14 -04:00 |
Slava Pestov
|
5ecd2b61c7
|
compiler.cfg: more silly optimizations
|
2010-05-14 18:37:09 -04:00 |
Daniel Ehrenberg
|
248730d39f
|
Cleaning up compiler.cfg.ssa.construction
|
2010-03-17 20:12:10 -04:00 |
Daniel Ehrenberg
|
7074979745
|
Moving new-sets to sets
|
2010-02-26 16:01:01 -05:00 |
Slava Pestov
|
d0c393aa60
|
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 |
Slava Pestov
|
4b7ba38aab
|
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 |
Slava Pestov
|
725280d424
|
Split off the notion of a register representation from a register class
|
2009-08-07 17:44:50 -05:00 |
Slava Pestov
|
74766d1ccd
|
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 |
Slava Pestov
|
d913d7331f
|
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 |
Slava Pestov
|
7d3b6892d5
|
compiler.cfg.ssa.construction: use the optimization from the pruned-SSA paper to minimize stack pushing and popping
|
2009-07-28 11:52:42 -05:00 |
Slava Pestov
|
62fe308776
|
compiler.cfg.ssa.construction: Use TDMSC algorithm to compute Phi placement
|
2009-07-28 11:16:10 -05:00 |
Slava Pestov
|
d10993b837
|
compiler.cfg: Rename ssa to ssa.construction, coalescing to ssa.destruction
|
2009-07-28 09:34:08 -05:00 |