Slava Pestov
|
b65ef327ce
|
compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding
|
2009-07-14 20:05:01 -05:00 |
Slava Pestov
|
a8d3bd1d24
|
compiler.cfg.intrinsics.fixnum: don't generate -imm forms anymore since value numbering does it
|
2009-07-14 19:18:57 -05:00 |
Slava Pestov
|
bea69ea325
|
compiler.cfg.value-numbering: branch folding
|
2009-07-14 19:17:12 -05:00 |
Slava Pestov
|
a41f452f68
|
Fix codegen test
|
2009-07-14 16:11:14 -05:00 |
Slava Pestov
|
1cf5eadf5c
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-14 16:05:35 -05:00 |
Slava Pestov
|
2e6ae2153c
|
compiler.cfg.value-numbering: more optimizations
|
2009-07-14 16:05:25 -05:00 |
Daniel Ehrenberg
|
324aeb0672
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-14 14:25:42 -05:00 |
Daniel Ehrenberg
|
ad301b07ae
|
new is inlined in the propagation pass when the class is known
|
2009-07-14 14:16:39 -05:00 |
Slava Pestov
|
1e8e24946c
|
compiler.cfg.value-numbering: add some unit tests
|
2009-07-14 13:25:07 -05:00 |
Slava Pestov
|
a17293a828
|
compiler.cfg: update unit tests for compiler.cfg.comparisons
|
2009-07-14 12:06:55 -05:00 |
Daniel Ehrenberg
|
581fbb5af2
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-14 01:24:08 -05:00 |
Daniel Ehrenberg
|
c6c5be4eb0
|
call( and execute( inline known quotations/words in the propagation pass
|
2009-07-14 01:12:45 -05:00 |
Slava Pestov
|
dff25199cb
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-13 22:59:19 -05:00 |
Doug Coleman
|
83d8c8606d
|
clean up value numbering conversion of ##add/sub to ##add/sub-imm
|
2009-07-13 19:02:05 -05:00 |
Slava Pestov
|
1eae4286cd
|
compiler.cfg: split off condition codes into a comparisons sub-vocabulary
|
2009-07-13 14:42:52 -05:00 |
Slava Pestov
|
eda950a3bf
|
compiler.cfg.value-numbering: fix ##compare and ##compare-branch rewrites
|
2009-07-13 12:33:58 -05:00 |
Slava Pestov
|
01f9addc3a
|
compiler.cfg.branch-splitting: split blocks with successors
|
2009-07-13 10:44:08 -05:00 |
Slava Pestov
|
31ae0845f3
|
compiler.cfg.linear-scan.resolve: get it to work on CFGs with critical edges
|
2009-07-12 23:00:33 -05:00 |
Slava Pestov
|
07d8bed106
|
compiler.cfg: Some code cleanups, update stack-analysis and phi-insertion to work on CFGs with critical edges
|
2009-07-12 22:22:46 -05:00 |
Slava Pestov
|
75b2e114f3
|
compiler.cfg.linear-scan: disable unit test for unimplemented feature
|
2009-07-10 07:48:49 -05:00 |
Slava Pestov
|
2c3fb59f4f
|
compiler.cfg.linear-scan: fix fencepost error in spill insertion
|
2009-07-10 03:58:51 -05:00 |
Slava Pestov
|
0be3f33296
|
insn. doesn't print numbers
|
2009-07-10 03:05:45 -05:00 |
Slava Pestov
|
e48b805bde
|
compiler.cfg.linear-scan.allocation: fix broken spill slot reuse logic
|
2009-07-10 00:25:46 -05:00 |
Slava Pestov
|
713c2411f7
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-09 23:14:45 -05:00 |
Slava Pestov
|
fe32e13fb0
|
compiler.cfg.value-numbering: factor out value renaming into a separate compiler.cfg.renaming vocabulary
|
2009-07-09 23:14:26 -05:00 |
Slava Pestov
|
71f1986ace
|
compiler.cfg: move back-edge? word from stack-analysis to top-level vocab
|
2009-07-09 23:13:30 -05:00 |
Slava Pestov
|
f93a71e978
|
compiler.cfg.linear-scan: two live intervals which are coalesced will use the same spill slot
|
2009-07-09 23:12:49 -05:00 |
Daniel Ehrenberg
|
55e5d60b23
|
Adding authors to compiler.tree.modular-arithmetic
|
2009-07-09 23:09:49 -05:00 |
Daniel Ehrenberg
|
bf706063e2
|
Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2
|
2009-07-09 23:07:38 -05:00 |
Slava Pestov
|
387c48fcc5
|
Revert "Remove unused vocabulary" -- committed patch from the wrong machine
This reverts commit 04c3c15411.
|
2009-07-09 19:50:15 -05:00 |
Slava Pestov
|
04c3c15411
|
Remove unused vocabulary
|
2009-07-09 19:10:36 -05:00 |
U-SLAVA-DFB8FF805\Slava
|
7f8c0d1e25
|
compiler.cfg.optimizer: fix irrelevant test
|
2009-07-09 06:17:10 -05:00 |
Slava Pestov
|
511ca9dea0
|
compiler.tree.propagation: better length propagation
|
2009-07-09 02:28:30 -05:00 |
Slava Pestov
|
4d3382431f
|
compiler.cfg.linear-scan: fixing unit tests
|
2009-07-09 00:48:00 -05:00 |
Slava Pestov
|
279733adfb
|
compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm
|
2009-07-09 00:20:03 -05:00 |
Slava Pestov
|
b02590cd58
|
compiler.cfg.linear-scan: code cleanups
|
2009-07-08 23:28:28 -05:00 |
Slava Pestov
|
65cb2d84a7
|
compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies
|
2009-07-08 23:07:06 -05:00 |
Slava Pestov
|
4ef76762e3
|
compiler.cfg.linear-scan: debugging spilling, add more assertions
|
2009-07-07 13:01:27 -05:00 |
Slava Pestov
|
39e660d8f6
|
compiler.cfg.linear-scan: code cleanup
|
2009-07-07 03:45:27 -05:00 |
Slava Pestov
|
15134e61e0
|
compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled
|
2009-07-07 03:28:55 -05:00 |
Slava Pestov
|
d6f45a5216
|
compiler.cfg.linear-scan: minor fixes
|
2009-07-05 22:51:53 -05:00 |
Slava Pestov
|
dd56f4158a
|
compiler.cfg.linear-scan: Get cycle breaking in resolve pass to work by allocating a spare spill slot for this purpose
|
2009-07-05 21:32:23 -05:00 |
Slava Pestov
|
0a634ec4ec
|
Fix compiler.cfg.linear-scan.resolve test failure
|
2009-07-04 16:30:16 -05:00 |
Slava Pestov
|
3d7addbbf5
|
compiler.cfg.value-numbering.rewrite: disable ##compare optimizations for now
|
2009-07-04 03:26:37 -05:00 |
Slava Pestov
|
577a3cb968
|
compiler.cfg.value-numbering.rewrite: fix ##compare-imm rewrite rule
|
2009-07-04 02:50:50 -05:00 |
Slava Pestov
|
c431e0db99
|
compiler.cfg.linear-scan.resolve: More fixes
|
2009-07-04 00:45:06 -05:00 |
Slava Pestov
|
ab5fdc70ac
|
compiler.cfg.linear-scan: redo resolve pass to fix a correctness issue
|
2009-07-03 23:38:52 -05:00 |
Slava Pestov
|
12cbbbd6ad
|
compiler.cfg: clean up GC check generation to use spill-slot data type
|
2009-07-03 23:11:23 -05:00 |
Slava Pestov
|
3d92117ef1
|
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
|
e21cf72927
|
compiler.tree.dead-code: methods on flushable generics should be flushable
|
2009-07-03 21:31:26 -05:00 |