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
|
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 |
Joe Groff
|
744028981e
|
disassemble method for byte-arrays. HEX{ abcd } syntax for byte-arrays
|
2009-07-27 22:14:26 -05:00 |
Slava Pestov
|
85975568d9
|
Debugging compiler.cfg.coalescing
|
2009-07-27 19:24:13 -05:00 |
Slava Pestov
|
cb457c5eaa
|
Merge branch 'dcn' of git://factorcode.org/git/factor into dcn
|
2009-07-27 16:57:13 -05:00 |
Slava Pestov
|
3490456e07
|
compiler.cfg.parallel-copy: fix algorithm
|
2009-07-27 16:54:47 -05:00 |
Joe Groff
|
7c8503989f
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-27 13:24:23 -05:00 |
Joe Groff
|
42556115a2
|
verify transform feedback format matches requested format after linking program-instances
|
2009-07-27 13:16:41 -05:00 |
Slava Pestov
|
b5686d46df
|
Merge branch 'master' into dcn
|
2009-07-27 04:54:58 -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 |