Commit Graph

631 Commits (89a048c0acca878568a66de3f45d10eaccc354a0)

Author SHA1 Message Date
Slava Pestov 89a048c0ac compiler.cfg.dataflow-analysis: iterative dataflow analysis framework 2009-07-22 02:06:35 -05:00
Slava Pestov 907e752319 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 b801022472 Move conjoin-at from compiler.cfg.liveness to sets 2009-07-21 03:02:06 -05:00
Slava Pestov 64f7a290f5 compiler.cfg.stack-analysis: fix outdated tests 2009-07-18 06:38:42 -05:00
Slava Pestov 749522c29c compiler.cfg.linear-scan: fix tests 2009-07-18 06:10:01 -05:00
Slava Pestov df874c3b50 compiler.tree.finalization: undo a change that resulted in a compile time regression 2009-07-18 03:33:24 -05:00
Slava Pestov dfc0dcfae2 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 9d831baa9c compiler.cfg.linear-scan: algorithmic optimizations 2009-07-18 00:14:39 -05:00
Slava Pestov 9e6e61edfa 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 f3be295a3c compiler.cfg.builder: remove some dead code 2009-07-17 21:52:33 -05:00
Slava Pestov 6a21202a24 Remove some unnecessary work from stack-analysis pass 2009-07-17 18:39:41 -05:00
Slava Pestov 704e417087 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-17 00:03:13 -05:00
Slava Pestov d053f88431 compiler.tree.propagation.transforms: fix shift transform 2009-07-17 00:02:57 -05:00
Slava Pestov 39a70db831 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 d63fd6c80e Removing two unused words in compiler.cfg.two-operand 2009-07-16 22:59:38 -05:00
Daniel Ehrenberg 7884ddb55a Merge branch 'master' of git://factorcode.org/git/factor 2009-07-16 22:42:39 -05:00
Daniel Ehrenberg 9ae962ded6 Phi elimination doesn't have the swap problem now 2009-07-16 22:42:13 -05:00
Slava Pestov 99faf3c79f 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 1d20276250 compiler.cfg.stack-analysis: global optimization work in progress 2009-07-16 16:43:14 -05:00
Slava Pestov c6b3279018 compiler.cfg.block-joining: relax join heuristic 2009-07-16 05:50:44 -05:00
Slava Pestov c5e00da9f8 compiler.cfg.linear-scan.live-intervals: remove bogus assertion 2009-07-16 02:42:01 -05:00
Slava Pestov 82e77d891a 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
Daniel Ehrenberg 5a5a6a34b9 fixing stupid bug in propagation 2009-07-16 00:43:54 -05:00
Daniel Ehrenberg a295b28652 define-partial-eval framework in propagation pass makes it easy to add transforms; moving some transforms from stack checker to propagation, making them stronger 2009-07-16 00:34:50 -05:00
Slava Pestov bff5a44c70 compiler.cfg: Fix regressions from recent changes 2009-07-14 20:43:06 -05:00
Slava Pestov 1d29dfa2d6 compiler.cfg.branch-splitting: don't split if there's one predecessor 2009-07-14 20:42:50 -05:00
Slava Pestov b65ef327ce compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding 2009-07-14 20:05:01 -05:00
Slava Pestov a8d3bd1d24 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 bea69ea325 compiler.cfg.value-numbering: branch folding 2009-07-14 19:17:12 -05:00
Slava Pestov a41f452f68 Fix codegen test 2009-07-14 16:11:14 -05:00
Slava Pestov 1cf5eadf5c Merge branch 'master' of git://factorcode.org/git/factor 2009-07-14 16:05:35 -05:00
Slava Pestov 2e6ae2153c compiler.cfg.value-numbering: more optimizations 2009-07-14 16:05:25 -05:00
Daniel Ehrenberg 324aeb0672 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-14 14:25:42 -05:00
Daniel Ehrenberg ad301b07ae new is inlined in the propagation pass when the class is known 2009-07-14 14:16:39 -05:00
Slava Pestov 1e8e24946c compiler.cfg.value-numbering: add some unit tests 2009-07-14 13:25:07 -05:00
Slava Pestov a17293a828 compiler.cfg: update unit tests for compiler.cfg.comparisons 2009-07-14 12:06:55 -05:00
Daniel Ehrenberg 581fbb5af2 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-14 01:24:08 -05:00
Daniel Ehrenberg c6c5be4eb0 call( and execute( inline known quotations/words in the propagation pass 2009-07-14 01:12:45 -05:00
Slava Pestov dff25199cb Merge branch 'master' of git://factorcode.org/git/factor 2009-07-13 22:59:19 -05:00
Doug Coleman 83d8c8606d clean up value numbering conversion of ##add/sub to ##add/sub-imm 2009-07-13 19:02:05 -05:00
Slava Pestov 1eae4286cd compiler.cfg: split off condition codes into a comparisons sub-vocabulary 2009-07-13 14:42:52 -05:00
Slava Pestov eda950a3bf compiler.cfg.value-numbering: fix ##compare and ##compare-branch rewrites 2009-07-13 12:33:58 -05:00
Slava Pestov 01f9addc3a compiler.cfg.branch-splitting: split blocks with successors 2009-07-13 10:44:08 -05:00
Slava Pestov 31ae0845f3 compiler.cfg.linear-scan.resolve: get it to work on CFGs with critical edges 2009-07-12 23:00:33 -05:00
Slava Pestov 07d8bed106 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 75b2e114f3 compiler.cfg.linear-scan: disable unit test for unimplemented feature 2009-07-10 07:48:49 -05:00
Slava Pestov 2c3fb59f4f compiler.cfg.linear-scan: fix fencepost error in spill insertion 2009-07-10 03:58:51 -05:00
Slava Pestov 0be3f33296 insn. doesn't print numbers 2009-07-10 03:05:45 -05:00
Slava Pestov e48b805bde compiler.cfg.linear-scan.allocation: fix broken spill slot reuse logic 2009-07-10 00:25:46 -05:00
Slava Pestov 713c2411f7 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-09 23:14:45 -05:00