Slava Pestov
|
cb7735ddf4
|
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
|
639a1cbb1f
|
compiler.cfg.linear-scan.resolve: fix unit tests to not depend on hashing
|
2009-07-29 06:48:01 -05:00 |
Slava Pestov
|
34432c5f18
|
compiler: fix test
|
2009-07-29 06:39:54 -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
|
1532a6f2e3
|
compiler.cfg.linear-scan.assignment: more efficient data structures
|
2009-07-29 06:12:33 -05:00 |
Slava Pestov
|
50bf6f52b4
|
compiler.cfg.linearization: fix bootstrap
|
2009-07-28 22:52:07 -05:00 |
Slava Pestov
|
eabaf9fc40
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 21:31:25 -05:00 |
Slava Pestov
|
8c6b38533c
|
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
|
9afa39aa3a
|
compiler.cfg.ssa.destruction: rename coalesce word to destruct-ssa
|
2009-07-28 12:56:33 -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
|
7a6bdffaaa
|
IN: fix for compiler test
|
2009-07-28 11:16:21 -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 |
Slava Pestov
|
80e10f1bd0
|
compiler.cfg: Fix some unit tests
|
2009-07-28 08:56:14 -05:00 |
Slava Pestov
|
d394dd3c36
|
compiler.cfg.branch-splitting: re-enable with a better heuristic
|
2009-07-28 08:48:05 -05:00 |
Slava Pestov
|
ff81b055a5
|
compiler.cfg.utilities: add loop-entry? word
|
2009-07-28 08:47:50 -05:00 |
Slava Pestov
|
e6f5eab598
|
compiler.cfg.linear-scan: fix resolve pass
|
2009-07-28 08:47:35 -05:00 |
Slava Pestov
|
3edf4a2b75
|
compiler.cfg.coalescing: cleanups
|
2009-07-28 08:47:03 -05:00 |
Slava Pestov
|
cf26800dbd
|
Revert "compiler.cfg.coalescing: some cleanups"
This reverts commit e5834c4ba7.
|
2009-07-28 07:51:44 -05:00 |
Slava Pestov
|
18717a449f
|
compiler.cfg.linear-scan.resolve: unit tests
|
2009-07-28 07:41:41 -05:00 |
Slava Pestov
|
009cfbfc8d
|
compiler.cfg.utilities: fix stack effect declaration
|
2009-07-28 07:40:09 -05:00 |
Slava Pestov
|
857ef94acc
|
compiler.cfg.linear-scan: use compiler.cfg.parallel-copy in resolve pass
|
2009-07-28 07:39:46 -05:00 |
Slava Pestov
|
f2c8f2824a
|
compiler.cfg.coalescing: some cleanups
|
2009-07-28 07:37:50 -05:00 |
Slava Pestov
|
3e6e5278a4
|
compiler.cfg.utilities: fix load error
|
2009-07-28 06:51:03 -05:00 |
Slava Pestov
|
a4cb242396
|
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
|
cb07256ff5
|
Add some compiler tests
|
2009-07-28 06:45:31 -05:00 |
Slava Pestov
|
1878b0dc32
|
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
|
d2b158c8e4
|
compiler.cfg.critical-edges: reset RPO
|
2009-07-28 01:04:13 -05:00 |
Slava Pestov
|
cf90945b4c
|
Add some tests that directly generate low level IR
|
2009-07-27 22:29:33 -05:00 |
Slava Pestov
|
3cc71a1934
|
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
|
e8cf50ac3e
|
compiler.cfg.two-operand: make it work in more cases
|
2009-07-27 22:28:29 -05:00 |
Slava Pestov
|
423d2996fa
|
compiler.cfg.debugger: reset vreg counters
|
2009-07-27 22:28:13 -05:00 |
Slava Pestov
|
c5d7ed58a5
|
Debugging compiler.cfg.coalescing
|
2009-07-27 19:24:13 -05:00 |
Slava Pestov
|
1a765c38da
|
compiler.cfg.parallel-copy: fix algorithm
|
2009-07-27 16:54:47 -05:00 |
Slava Pestov
|
31555b05cf
|
compiler.codegen: collect instruction statistics
|
2009-07-27 03:58:15 -05:00 |
Slava Pestov
|
9fa71959b5
|
compiler.cfg.coalescing: fix shuffling bug
|
2009-07-27 03:58:01 -05:00 |
Slava Pestov
|
e112b0d70e
|
compiler.cfg.phi-elimination: no longer needed
|
2009-07-27 02:20:53 -05:00 |
Slava Pestov
|
ba696b68b8
|
compiler.cfg.coalescing: more or less complete, now needs debugging
|
2009-07-27 02:20:45 -05:00 |
Slava Pestov
|
a32cbdd231
|
compiler.cfg.coalescing: more work done
|
2009-07-27 00:31:21 -05:00 |
Slava Pestov
|
501629cf75
|
compiler.tree.propagation.info: fix load error
|
2009-07-27 00:30:24 -05:00 |
Slava Pestov
|
a5e5510615
|
compiler.cfg.coalescing: work in progress
|
2009-07-26 21:11:26 -05:00 |
Slava Pestov
|
e9935b6aad
|
compiler.cfg.copy-prop: remove ##phi nodes where all inputs are copy-equivalent
|
2009-07-26 21:11:02 -05:00 |
Slava Pestov
|
fc41140720
|
compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info
|
2009-07-26 21:10:33 -05:00 |
Slava Pestov
|
1319d8e549
|
compiler.cfg.def-use: build def-use chains
|
2009-07-26 21:10:14 -05:00 |
Slava Pestov
|
2137c9cc79
|
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
|
053de0af40
|
compiler.cfg.copy-prop: work in progress
|
2009-07-24 19:56:21 -05:00 |
Slava Pestov
|
2fb0198d48
|
compiler.cfg.parallel-copy: forgot to add this
|
2009-07-24 19:46:33 -05:00 |
Slava Pestov
|
4624af75f4
|
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
|
13c3fdcb5c
|
compiler.cfg: Fixing test failures
|
2009-07-24 06:08:07 -05:00 |