Slava Pestov
|
ead57fc5dd
|
compiler.cfg.registers: minor optimization
|
2009-07-21 17:49:44 -05:00 |
Slava Pestov
|
e7e5bee9a2
|
compiler.cfg.ssa: Cytron's SSA construction algorithm
|
2009-07-21 17:49:30 -05:00 |
Slava Pestov
|
3136549f48
|
compiler.cfg.dominance: fix idom computation, compute dominator tree, compute dominance frontiers, add some tests
|
2009-07-21 03:02:45 -05:00 |
Slava Pestov
|
fd9a353fd6
|
Move conjoin-at from compiler.cfg.liveness to sets
|
2009-07-21 03:02:06 -05:00 |
Slava Pestov
|
9cbd6c52a6
|
compiler.cfg.stack-analysis: fix outdated tests
|
2009-07-18 06:38:42 -05:00 |
Slava Pestov
|
32e4a97855
|
compiler.cfg.linear-scan: fix tests
|
2009-07-18 06:10:01 -05:00 |
Slava Pestov
|
343151fd62
|
compiler.tree.finalization: undo a change that resulted in a compile time regression
|
2009-07-18 03:33:24 -05:00 |
Slava Pestov
|
3ee68d1ff5
|
Disable fixnum>bignum and bignum>fixnum intrinsics since they're not very useful and they increase code size significantly
|
2009-07-18 01:07:43 -05:00 |
Slava Pestov
|
ea69566ddd
|
compiler.cfg.linear-scan: algorithmic optimizations
|
2009-07-18 00:14:39 -05:00 |
Slava Pestov
|
5061db2a48
|
compiler.cfg: Move tail call optimization to the end, compiler.tree: simplify finalization pass because of this
|
2009-07-17 22:57:28 -05:00 |
Slava Pestov
|
b83f27af74
|
compiler.cfg.builder: remove some dead code
|
2009-07-17 21:52:33 -05:00 |
Slava Pestov
|
43fab5b2ae
|
Remove some unnecessary work from stack-analysis pass
|
2009-07-17 18:39:41 -05:00 |
Slava Pestov
|
e88e7f70be
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-17 00:03:13 -05:00 |
Slava Pestov
|
3fb4fc1bde
|
Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases
|
2009-07-16 23:50:48 -05:00 |
Daniel Ehrenberg
|
8ea2996438
|
Removing two unused words in compiler.cfg.two-operand
|
2009-07-16 22:59:38 -05:00 |
Daniel Ehrenberg
|
3ca5665ad6
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-16 22:42:39 -05:00 |
Daniel Ehrenberg
|
8477cf8e91
|
Phi elimination doesn't have the swap problem now
|
2009-07-16 22:42:13 -05:00 |
Slava Pestov
|
e76dce8aff
|
Overflowing fixnum intrinsics now expand into several CFG nodes. This speeds up the common case since only the uncommon case is now a stack syncpoint
|
2009-07-16 18:29:40 -05:00 |
Slava Pestov
|
685e32b091
|
compiler.cfg.stack-analysis: global optimization work in progress
|
2009-07-16 16:43:14 -05:00 |
Slava Pestov
|
fc0e0f1924
|
compiler.cfg.block-joining: relax join heuristic
|
2009-07-16 05:50:44 -05:00 |
Slava Pestov
|
884e41dd9c
|
compiler.cfg.linear-scan.live-intervals: remove bogus assertion
|
2009-07-16 02:42:01 -05:00 |
Slava Pestov
|
9f926ab88c
|
compiler.cfg.block-joining: join basic blocks connected by a single edge to improve effectiveness of local optimizations
|
2009-07-16 02:17:58 -05:00 |
Slava Pestov
|
ebcd0dc252
|
compiler.cfg: Fix regressions from recent changes
|
2009-07-14 20:43:06 -05:00 |
Slava Pestov
|
4ac74e9304
|
compiler.cfg.branch-splitting: don't split if there's one predecessor
|
2009-07-14 20:42:50 -05:00 |
Slava Pestov
|
11731f8d48
|
compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding
|
2009-07-14 20:05:01 -05:00 |
Slava Pestov
|
a75d558b30
|
compiler.cfg.intrinsics.fixnum: don't generate -imm forms anymore since value numbering does it
|
2009-07-14 19:18:57 -05:00 |
Slava Pestov
|
73a2222541
|
compiler.cfg.value-numbering: branch folding
|
2009-07-14 19:17:12 -05:00 |
Slava Pestov
|
2ace87370e
|
compiler.cfg.value-numbering: more optimizations
|
2009-07-14 16:05:25 -05:00 |
Slava Pestov
|
d1eea090b6
|
compiler.cfg.value-numbering: add some unit tests
|
2009-07-14 13:25:07 -05:00 |
Slava Pestov
|
c860a3b1e6
|
compiler.cfg: update unit tests for compiler.cfg.comparisons
|
2009-07-14 12:06:55 -05:00 |
Slava Pestov
|
5ccf7bc99f
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-13 22:59:19 -05:00 |
Doug Coleman
|
ccae9b59a4
|
clean up value numbering conversion of ##add/sub to ##add/sub-imm
|
2009-07-13 19:02:05 -05:00 |
Slava Pestov
|
768e2a5148
|
compiler.cfg: split off condition codes into a comparisons sub-vocabulary
|
2009-07-13 14:42:52 -05:00 |
Slava Pestov
|
3b244d5d41
|
compiler.cfg.value-numbering: fix ##compare and ##compare-branch rewrites
|
2009-07-13 12:33:58 -05:00 |
Slava Pestov
|
d7aeae45be
|
compiler.cfg.branch-splitting: split blocks with successors
|
2009-07-13 10:44:08 -05:00 |
Slava Pestov
|
8ff473e42c
|
compiler.cfg.linear-scan.resolve: get it to work on CFGs with critical edges
|
2009-07-12 23:00:33 -05:00 |
Slava Pestov
|
608fb054f2
|
compiler.cfg: Some code cleanups, update stack-analysis and phi-insertion to work on CFGs with critical edges
|
2009-07-12 22:22:46 -05:00 |
Slava Pestov
|
1cf6bb7f99
|
compiler.cfg.linear-scan: disable unit test for unimplemented feature
|
2009-07-10 07:48:49 -05:00 |
Slava Pestov
|
ae67de6f90
|
compiler.cfg.linear-scan: fix fencepost error in spill insertion
|
2009-07-10 03:58:51 -05:00 |
Slava Pestov
|
11347e784c
|
insn. doesn't print numbers
|
2009-07-10 03:05:45 -05:00 |
Slava Pestov
|
dea872c7e3
|
compiler.cfg.linear-scan.allocation: fix broken spill slot reuse logic
|
2009-07-10 00:25:46 -05:00 |
Slava Pestov
|
7edb2df01c
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-09 23:14:45 -05:00 |
Slava Pestov
|
789d82745c
|
compiler.cfg.value-numbering: factor out value renaming into a separate compiler.cfg.renaming vocabulary
|
2009-07-09 23:14:26 -05:00 |
Slava Pestov
|
6810b922ee
|
compiler.cfg: move back-edge? word from stack-analysis to top-level vocab
|
2009-07-09 23:13:30 -05:00 |
Slava Pestov
|
d02854b04e
|
compiler.cfg.linear-scan: two live intervals which are coalesced will use the same spill slot
|
2009-07-09 23:12:49 -05:00 |
Slava Pestov
|
bb701bed7e
|
Revert "Remove unused vocabulary" -- committed patch from the wrong machine
This reverts commit 04c3c15411 .
|
2009-07-09 19:50:15 -05:00 |
Slava Pestov
|
8008bfb1f9
|
Remove unused vocabulary
|
2009-07-09 19:10:36 -05:00 |
U-SLAVA-DFB8FF805\Slava
|
508b7272b5
|
compiler.cfg.optimizer: fix irrelevant test
|
2009-07-09 06:17:10 -05:00 |
Slava Pestov
|
d0980edafe
|
compiler.cfg.linear-scan: fixing unit tests
|
2009-07-09 00:48:00 -05:00 |
Slava Pestov
|
5a64290386
|
compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm
|
2009-07-09 00:20:03 -05:00 |