Slava Pestov
|
5ecd0d91a3
|
compiler.cfg: remove 'regs' slot from instruction tuples now that register allocation doesn't use it anymore
|
2009-07-29 06:50:46 -05:00 |
Slava Pestov
|
bd70967f8a
|
compiler.cfg.linear-scan.resolve: fix unit tests to not depend on hashing
|
2009-07-29 06:48:01 -05:00 |
Slava Pestov
|
f260500bcd
|
compiler: fix test
|
2009-07-29 06:39:54 -05:00 |
Slava Pestov
|
68d06c4b06
|
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
|
02b1cc0c40
|
compiler.cfg.linear-scan.assignment: more efficient data structures
|
2009-07-29 06:12:33 -05:00 |
Slava Pestov
|
6e56e08012
|
compiler.cfg.linearization: fix bootstrap
|
2009-07-28 22:52:07 -05:00 |
Slava Pestov
|
89039e9977
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 21:31:25 -05:00 |
Slava Pestov
|
c634f5a9a0
|
compiler.cfg.linearization: rotate loops. 2x speedup with empty times loop, 1.5x speedup on benchmark.dawes
|
2009-07-28 21:31:08 -05:00 |
Slava Pestov
|
ac7447483d
|
compiler.cfg.ssa.destruction: rename coalesce word to destruct-ssa
|
2009-07-28 12:56:33 -05:00 |
Slava Pestov
|
bbd4e4af3e
|
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
|
a2ae560a8a
|
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
|
2a87faf681
|
IN: fix for compiler test
|
2009-07-28 11:16:21 -05:00 |
Slava Pestov
|
31caa7af2f
|
compiler.cfg.ssa.construction: Use TDMSC algorithm to compute Phi placement
|
2009-07-28 11:16:10 -05:00 |
Slava Pestov
|
7a158d84da
|
compiler.cfg: Rename ssa to ssa.construction, coalescing to ssa.destruction
|
2009-07-28 09:34:08 -05:00 |
Slava Pestov
|
905f52d4a9
|
compiler.cfg: Fix some unit tests
|
2009-07-28 08:56:14 -05:00 |
Slava Pestov
|
8f08ce94fa
|
compiler.cfg.branch-splitting: re-enable with a better heuristic
|
2009-07-28 08:48:05 -05:00 |
Slava Pestov
|
91d2b3e805
|
compiler.cfg.utilities: add loop-entry? word
|
2009-07-28 08:47:50 -05:00 |
Slava Pestov
|
6d4a54201b
|
compiler.cfg.linear-scan: fix resolve pass
|
2009-07-28 08:47:35 -05:00 |
Slava Pestov
|
f61dff0d5e
|
compiler.cfg.coalescing: cleanups
|
2009-07-28 08:47:03 -05:00 |
Slava Pestov
|
5d3a795e7d
|
Revert "compiler.cfg.coalescing: some cleanups"
This reverts commit e5834c4ba7.
|
2009-07-28 07:51:44 -05:00 |
Slava Pestov
|
c44b13c29e
|
compiler.cfg.linear-scan.resolve: unit tests
|
2009-07-28 07:41:41 -05:00 |
Slava Pestov
|
3fc36e3750
|
compiler.cfg.utilities: fix stack effect declaration
|
2009-07-28 07:40:09 -05:00 |
Slava Pestov
|
f19ee61d3a
|
compiler.cfg.linear-scan: use compiler.cfg.parallel-copy in resolve pass
|
2009-07-28 07:39:46 -05:00 |
Slava Pestov
|
e5834c4ba7
|
compiler.cfg.coalescing: some cleanups
|
2009-07-28 07:37:50 -05:00 |
Slava Pestov
|
e6bdd27c2e
|
compiler.cfg.utilities: fix load error
|
2009-07-28 06:51:03 -05:00 |
Slava Pestov
|
496d59d86c
|
compiler.cfg.coalescing: Only run if CFG has ##phi nodes, fix interference for case where value is not used in a block and is not live-in, forgot to run liveness analysis first
|
2009-07-28 06:48:20 -05:00 |
Slava Pestov
|
8ac396d9e0
|
Add some compiler tests
|
2009-07-28 06:45:31 -05:00 |
Slava Pestov
|
2fe741568c
|
compiler.cfg.liveness: fix liveness computation in case where instruction uses a register it defines
|
2009-07-28 06:45:02 -05:00 |
Slava Pestov
|
3550880850
|
compiler.cfg.critical-edges: reset RPO
|
2009-07-28 01:04:13 -05:00 |
Slava Pestov
|
164e5c4eb5
|
Add some tests that directly generate low level IR
|
2009-07-27 22:29:33 -05:00 |
Slava Pestov
|
536dc1c014
|
compiler.cfg.coalescing: precompute live intervals, add support for instructions where output cannot equal an input, split critical edges
|
2009-07-27 22:29:17 -05:00 |
Slava Pestov
|
cf23ee7996
|
compiler.cfg.two-operand: make it work in more cases
|
2009-07-27 22:28:29 -05:00 |
Slava Pestov
|
064248d25b
|
compiler.cfg.debugger: reset vreg counters
|
2009-07-27 22:28:13 -05:00 |
Slava Pestov
|
85975568d9
|
Debugging compiler.cfg.coalescing
|
2009-07-27 19:24:13 -05:00 |
Slava Pestov
|
3490456e07
|
compiler.cfg.parallel-copy: fix algorithm
|
2009-07-27 16:54:47 -05:00 |
Slava Pestov
|
cef47c452a
|
compiler.codegen: collect instruction statistics
|
2009-07-27 03:58:15 -05:00 |
Slava Pestov
|
7dec8d289e
|
compiler.cfg.coalescing: fix shuffling bug
|
2009-07-27 03:58:01 -05:00 |
Slava Pestov
|
e6d05dc722
|
compiler.cfg.phi-elimination: no longer needed
|
2009-07-27 02:20:53 -05:00 |
Slava Pestov
|
83d40198a4
|
compiler.cfg.coalescing: more or less complete, now needs debugging
|
2009-07-27 02:20:45 -05:00 |
Slava Pestov
|
d7f12feb64
|
compiler.cfg.coalescing: more work done
|
2009-07-27 00:31:21 -05:00 |
Slava Pestov
|
420e28b8bd
|
compiler.tree.propagation.info: fix load error
|
2009-07-27 00:30:24 -05:00 |
Slava Pestov
|
76de5a9376
|
compiler.cfg.coalescing: work in progress
|
2009-07-26 21:11:26 -05:00 |
Slava Pestov
|
0a3a08e506
|
compiler.cfg.copy-prop: remove ##phi nodes where all inputs are copy-equivalent
|
2009-07-26 21:11:02 -05:00 |
Slava Pestov
|
99601d34fa
|
compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info
|
2009-07-26 21:10:33 -05:00 |
Slava Pestov
|
5e39e8c11f
|
compiler.cfg.def-use: build def-use chains
|
2009-07-26 21:10:14 -05:00 |
Slava Pestov
|
6f37596113
|
compiler.cfg.dominance: add pre order and max pre order numbers; use them to implement dominates? check
|
2009-07-26 21:10:05 -05:00 |
Slava Pestov
|
3293a72580
|
compiler.cfg.copy-prop: work in progress
|
2009-07-24 19:56:21 -05:00 |
Slava Pestov
|
ce7236437f
|
compiler.cfg.parallel-copy: forgot to add this
|
2009-07-24 19:46:33 -05:00 |
Slava Pestov
|
228fcea905
|
compiler.cfg.phi-elimination: move some utilities from compiler.cfg.utilities here since that's the only place they get used
|
2009-07-24 16:45:31 -05:00 |
Slava Pestov
|
d8836f8927
|
compiler.cfg: Fixing test failures
|
2009-07-24 06:08:07 -05:00 |