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
|
3ca6fab9ba
|
bit-arrays: fix resize method regression after recent equal? method optimization
|
2009-07-29 06:47:50 -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
|
82fa68d075
|
sequences: add declaration so that array-flip compiles better
|
2009-07-28 21:33:12 -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 |
Joe Groff
|
490e92296e
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 14:38:25 -05:00 |
Joe Groff
|
658a49d02d
|
i just cut and pasted
|
2009-07-28 14:38:10 -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
|
c1fd97d515
|
Merge branch 'dcn'
|
2009-07-28 12:37:45 -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 |
Joe Groff
|
76fc1e1d3c
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-28 12:20:16 -05:00 |
Joe Groff
|
4c664a469a
|
SSE4 opcodes for x86 assembler
|
2009-07-28 12:19:37 -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
|
61371713b7
|
Move set-last from circular.private to sequences
|
2009-07-28 11:51:47 -05:00 |
Slava Pestov
|
afd914c808
|
Merge branch 'master' into dcn
|
2009-07-28 11:20:43 -05:00 |
Slava Pestov
|
927e951bfe
|
Move Joe's HEX{ syntax to byte-arrays.hex in basis
|
2009-07-28 11:20:28 -05:00 |
Slava Pestov
|
d18a80dedb
|
compiler.cfg.graphviz: add render-dom word
|
2009-07-28 11:16:32 -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
|
4203baf231
|
Faster bit-array equality, add bit-set-subset? word
|
2009-07-28 11:14:57 -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
|
073be4f340
|
classes.algebra: stack effect fix
|
2009-07-28 06:49:09 -05:00 |
Slava Pestov
|
fcf6c121bd
|
tools.annotations: doc addition
|
2009-07-28 06:49: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
|
d914e9cc4f
|
compiler.cfg.graphviz: A utility for rendering CFGs with graphviz
|
2009-07-28 06:41:29 -05:00 |
Slava Pestov
|
3550880850
|
compiler.cfg.critical-edges: reset RPO
|
2009-07-28 01:04:13 -05:00 |
Joe Groff
|
1fe11f7c87
|
SSE1–SSSE3 opcodes + branch hints for x86 assembler
|
2009-07-28 00:22:27 -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
|
f0a5ac3fbb
|
cpu.x86: compile a load of zero, and adds, subs where dst = src1 more efficiently
|
2009-07-27 22:27:54 -05:00 |