Slava Pestov
|
f14a61fac2
|
Fix compiler.cfg.linear-scan.resolve test failure
|
2009-07-04 16:30:16 -05:00 |
Slava Pestov
|
c0f1b2205a
|
compiler.cfg.value-numbering.rewrite: disable ##compare optimizations for now
|
2009-07-04 03:26:37 -05:00 |
Slava Pestov
|
fb488025aa
|
compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule
|
2009-07-04 02:50:50 -05:00 |
Slava Pestov
|
c00af97fa1
|
compiler.cfg.linear-scan.resolve: More fixes
|
2009-07-04 00:45:06 -05:00 |
Slava Pestov
|
da13681bc8
|
compiler.cfg.linear-scan: redo resolve pass to fix a correctness issue
|
2009-07-03 23:38:52 -05:00 |
Slava Pestov
|
8d3a45dee2
|
compiler.cfg: clean up GC check generation to use spill-slot data type
|
2009-07-03 23:11:23 -05:00 |
Slava Pestov
|
d07c0429fc
|
compiler.cfg.linear-scan: assign spill slots to vregs globally, so that resolve pass never has to perform a memory->memory transfer
|
2009-07-03 22:51:40 -05:00 |
Slava Pestov
|
0180209f4e
|
compiler.tree.dead-code: methods on flushable generics should be flushable
|
2009-07-03 21:31:26 -05:00 |
Doug Coleman
|
cae8fed16c
|
convert ##compare with immediates to ##compare-imm
|
2009-07-03 19:19:33 -05:00 |
Slava Pestov
|
2c3b2a0b71
|
compiler.cfg.predecessors: delete dead predecessors from phi nodes
|
2009-07-03 18:45:03 -05:00 |
Doug Coleman
|
84de04e502
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-02 19:04:50 -05:00 |
Doug Coleman
|
e7a227ad40
|
add constant folding for integer ops, refactor some rewrites
|
2009-07-02 19:03:21 -05:00 |
Slava Pestov
|
c5e7266e17
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-02 18:36:49 -05:00 |
Doug Coleman
|
f11ba00667
|
Revert "fix a unit test so it's sure to overflow 64bit machines"
This reverts commit 88a545a215 .
|
2009-07-02 18:18:50 -05:00 |
Doug Coleman
|
559a77be43
|
fix a unit test so it's sure to overflow 64bit machines
|
2009-07-02 18:05:55 -05:00 |
Doug Coleman
|
2aade588ee
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-02 18:01:58 -05:00 |
Doug Coleman
|
e11e3cf6d2
|
unit test to make sure adds are not optimized incorrectly
|
2009-07-02 18:01:00 -05:00 |
Doug Coleman
|
80eb5068e2
|
fix bug in rewriting #add -- wasn't checking small-enough?, and change negative adds to subtractions/negative subtractions to adds
|
2009-07-02 17:55:35 -05:00 |
Slava Pestov
|
9404a7d0e3
|
half-floats: Add some more unit tests
|
2009-07-02 17:52:53 -05:00 |
Slava Pestov
|
6d46bf623c
|
compiler.cfg.liveness: update for new ##phi node representation
|
2009-07-02 17:28:02 -05:00 |
Slava Pestov
|
90daf6d03d
|
compiler.cfg: change representation of ##phi nodes. The input slot of ##phi nodes is now an assoc mapping predecessors to values, rather than a sequence of values. This ensures that optimization which delete predecessors can be implemented
|
2009-07-02 17:10:50 -05:00 |
Doug Coleman
|
86901eb01e
|
rewrite rules for add/sub/mul/and/or/xor-imm, rewrite load-immediate/add to be add-imm
|
2009-07-02 11:35:31 -05:00 |
Doug Coleman
|
04cb320c55
|
simplify sub and sub-imm
|
2009-07-02 11:33:15 -05:00 |
Doug Coleman
|
826464724e
|
add a utility word vreg>constant
|
2009-07-02 11:32:23 -05:00 |
Slava Pestov
|
3a4916462b
|
compiler.cfg.dce: now performs three passes over the CFG to fix a phase ordering issue
|
2009-07-02 03:17:19 -05:00 |
Slava Pestov
|
513a600664
|
compiler.cfg.dce: minor renamings
|
2009-07-02 02:41:10 -05:00 |
Daniel Ehrenberg
|
392e313f05
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-02 02:31:06 -05:00 |
Daniel Ehrenberg
|
fcfd7f01a3
|
Dead code elimination eliminates some dead allocations
|
2009-07-02 02:30:46 -05:00 |
Slava Pestov
|
2de41f01da
|
compiler.cfg.optimizer: enable branch folding
|
2009-07-02 01:05:59 -05:00 |
Slava Pestov
|
af875ba836
|
compiler.cfg: bug fixes in GC check insertion and fixnum intrinsics
|
2009-07-02 00:51:06 -05:00 |
Slava Pestov
|
e6b1c21590
|
compiler.cfg.linear-scan: fix spilling
|
2009-07-01 22:37:27 -05:00 |
Slava Pestov
|
41f48e3cfe
|
compiler.tree.optimizer: Remove redundant call to compute-def-use
|
2009-07-01 17:41:20 -05:00 |
Slava Pestov
|
a19f22ec82
|
compiler.cfg.linear-scan: debugging spilling and resolve pass
|
2009-07-01 17:41:07 -05:00 |
Slava Pestov
|
7e3fa45512
|
compiler.cfg.stack-analysis: fix unit tests for useless-blocks renaming and ##no-tco instruction
|
2009-06-30 23:17:33 -05:00 |
Slava Pestov
|
a3b21292b6
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-06-30 23:07:36 -05:00 |
Slava Pestov
|
f894baf60e
|
compiler.cfg.optimizer: disable branch folding for now
|
2009-06-30 23:07:27 -05:00 |
Slava Pestov
|
72b6bef19d
|
compiler.cfg.builder: emit less crap after a #terminate node
|
2009-06-30 23:03:25 -05:00 |
Doug Coleman
|
8b728e0a8a
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-06-30 23:02:04 -05:00 |
Doug Coleman
|
b1c7374175
|
optimize fixnum*fast and fixnum-shift-fast
|
2009-06-30 23:01:44 -05:00 |
Doug Coleman
|
ded1e29d2f
|
combine add-imm instructions into a single add
|
2009-06-30 22:59:53 -05:00 |
Slava Pestov
|
3385e50c43
|
compiler.cfg.branch-folding: fold away branches where both inputs are the same register. This results in 'push' being compiled slightly better
|
2009-06-30 22:43:32 -05:00 |
Slava Pestov
|
fc595a7075
|
Fix possible infinite loop in skip-empty-blocks and remove redundant test in compiler.cfg.useless-conditionals
|
2009-06-30 22:43:02 -05:00 |
Slava Pestov
|
f412bbc6d6
|
Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it
|
2009-06-30 22:11:15 -05:00 |
Slava Pestov
|
eb7f50adf4
|
Fix conflict
|
2009-06-30 21:37:49 -05:00 |
Slava Pestov
|
0402790001
|
compiler.cfg Remove height tracking for ##call instructions, wire in ##no-tco instruction
|
2009-06-30 21:21:46 -05:00 |
Slava Pestov
|
3da560130a
|
compiler.cfg.tco: fix tail call optimization for ##fixnum-mul
|
2009-06-30 21:08:08 -05:00 |
Slava Pestov
|
eca718b32d
|
compiler.cfg.builder: fix stack effect
|
2009-06-30 21:07:55 -05:00 |
Slava Pestov
|
612e4b99b0
|
compiler.cfg.linear-scan.assignment: insert-copy did the wrong thing if the second interval had been split. Fixes compilation of 'trilerp'
|
2009-06-30 21:07:39 -05:00 |
Slava Pestov
|
1acf243cce
|
Fix conflict
|
2009-06-30 20:16:09 -05:00 |
Slava Pestov
|
5c6c3ecd85
|
compiler.cfg.tco: Tail call optimization moved out of compiler.cfg.builder into its own pass
|
2009-06-30 20:13:35 -05:00 |