Commit Graph

614 Commits (99faf3c79fac922f9e4788303a3ed1cac85d5c16)

Author SHA1 Message Date
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
Slava Pestov fe32e13fb0 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 71f1986ace compiler.cfg: move back-edge? word from stack-analysis to top-level vocab 2009-07-09 23:13:30 -05:00
Slava Pestov f93a71e978 compiler.cfg.linear-scan: two live intervals which are coalesced will use the same spill slot 2009-07-09 23:12:49 -05:00
Daniel Ehrenberg 55e5d60b23 Adding authors to compiler.tree.modular-arithmetic 2009-07-09 23:09:49 -05:00
Daniel Ehrenberg bf706063e2 Improving modular arithmetic optimization to be aware of words like set-alien-unsigned-2 2009-07-09 23:07:38 -05:00
Slava Pestov 387c48fcc5 Revert "Remove unused vocabulary" -- committed patch from the wrong machine
This reverts commit 04c3c15411.
2009-07-09 19:50:15 -05:00
Slava Pestov 04c3c15411 Remove unused vocabulary 2009-07-09 19:10:36 -05:00
U-SLAVA-DFB8FF805\Slava 7f8c0d1e25 compiler.cfg.optimizer: fix irrelevant test 2009-07-09 06:17:10 -05:00
Slava Pestov 511ca9dea0 compiler.tree.propagation: better length propagation 2009-07-09 02:28:30 -05:00
Slava Pestov 4d3382431f compiler.cfg.linear-scan: fixing unit tests 2009-07-09 00:48:00 -05:00
Slava Pestov 279733adfb compiler.cfg.linear-scan: more code cleanups, and working on split-to-fit algorithm 2009-07-09 00:20:03 -05:00
Slava Pestov b02590cd58 compiler.cfg.linear-scan: code cleanups 2009-07-08 23:28:28 -05:00
Slava Pestov 65cb2d84a7 compiler.cfg.linear-scan: split off parallel mapping code from resolve pass, use it in assignment pass to resolve parallel copies 2009-07-08 23:07:06 -05:00
Slava Pestov 4ef76762e3 compiler.cfg.linear-scan: debugging spilling, add more assertions 2009-07-07 13:01:27 -05:00
Slava Pestov 39e660d8f6 compiler.cfg.linear-scan: code cleanup 2009-07-07 03:45:27 -05:00
Slava Pestov 15134e61e0 compiler.cfg.linear-scan: Re-implement spilling, add some additional runtime assertions, simplify assignment pass since it doesn't have to track spill slots anymore; just assume a live value that's not in active or inactive is spilled 2009-07-07 03:28:55 -05:00
Slava Pestov d6f45a5216 compiler.cfg.linear-scan: minor fixes 2009-07-05 22:51:53 -05:00