Slava Pestov
|
ed5cea57ea
|
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 |
Slava Pestov
|
8fd5d3c86a
|
FFI rewrite part 6: deconcatenatize
|
2010-07-02 15:44:12 -04:00 |
Slava Pestov
|
5c7aaa0473
|
compiler.cfg.ssa: fixing test failures
|
2010-06-15 17:18:51 -04:00 |
Slava Pestov
|
a08295d9b7
|
GC maps for more compact inline GC checks
|
2010-06-11 20:06:00 -04:00 |
Slava Pestov
|
d8fc595383
|
compiler.cfg: clean up ##phi literals in tests
|
2010-05-03 17:34:24 -04:00 |
Slava Pestov
|
813eabadc6
|
compiler.cfg.gc-checks: move phi instructions into GC check block, to ensure correct behavior
|
2010-05-03 17:34:17 -04:00 |
Slava Pestov
|
fc7a1ad8b3
|
New GC checks work in progress
|
2010-05-03 17:34:16 -04:00 |
Slava Pestov
|
e6ff877362
|
compiler.cfg.instructions: remove ##box-float, ##unbox-float, ##box-vector, ##unbox-vector since they can be expressed in terms of ##alien-double, ##set-alien-double, ##alien-vector, ##set-alien-vector, and ##allot
|
2009-10-01 18:07:50 -05:00 |
Doug Coleman
|
d1ce837569
|
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places, minor refactoring
|
2009-08-13 19:21:44 -05:00 |
Slava Pestov
|
88d15dfbea
|
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
|
2d575d7ec9
|
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
|
4d2160799f
|
Split off the notion of a register representation from a register class
|
2009-08-07 17:44:50 -05:00 |
Slava Pestov
|
8028eb5776
|
compiler.cfg: clean up unit tests using some new utilities
|
2009-08-02 03:49:25 -05:00 |
Slava Pestov
|
99216b8435
|
compiler.cfg: Get inline GC checks working again, using a dataflow analysis to compute uninitialized stack locations in compiler.cfg.stacks.uninitialized. Re-enable intrinsics which use inline allocation
|
2009-07-30 09:19:44 -05:00 |