Commit Graph

15936 Commits (c634f5a9a0895110283394c4c914f7bea48baa1b)

Author SHA1 Message Date
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