Commit Graph

15788 Commits (89db2e745d08f2c51a0df07dafbcf8ea774b7eeb)

Author SHA1 Message Date
Slava Pestov 89db2e745d Move liveness back to compiler.cfg.liveness, fix a corner-case where it didn't work on some forms of non-SSA code 2009-07-22 06:07:28 -05:00
Slava Pestov 21a012e3d7 compiler.cfg: Major restructuring -- do not compute liveness before local optimization, and instead change local optimizations to be more permissive of undefined values. Now, liveness is only computed once, after phi elimination and before register allocation. This means liveness analysis does not need to take phi nodes into account and can now use the new compiler.cfg.dataflow-analysis framework 2009-07-22 03:08:28 -05:00
Slava Pestov c105b033ef Merge branch 'master' of git://factorcode.org/git/factor 2009-07-22 02:06:47 -05:00
Slava Pestov e6a323dfaa compiler.cfg.dataflow-analysis: iterative dataflow analysis framework 2009-07-22 02:06:35 -05:00
Slava Pestov dce020ca71 functors: add MIXIN:, SINGLETON: 2009-07-22 02:06:24 -05:00
Slava Pestov 42230b21a3 Add assoc-refine, which takes the intersection of a sequence of assocs 2009-07-22 02:06:14 -05:00
Slava Pestov 1aa6c9a0d5 compiler.cfg: Fix unit tests 2009-07-21 22:25:19 -05:00
Slava Pestov 6bb069f173 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-21 17:49:59 -05:00
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 4dbc9148be Merge branch 'master' of git://factorcode.org/git/factor 2009-07-21 05:46:38 -05:00
Slava Pestov 7d792ab999 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-21 03:02:59 -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
Maximilian Lupke 08814c3308 sequences.abbrev: add docs - not much, but a start 2009-07-21 00:37:45 +02:00
Maximilian Lupke ea7cbd2b5a sequences.abbrev: keep insertion order 2009-07-20 20:18:13 +02:00
Maximilian Lupke e3ec2b6c8b sequences.abbrev: more small refactoring 2009-07-20 17:22:55 +02:00
Maximilian Lupke 52e09199e1 sequences.abbrev: small refactoring 2009-07-20 01:40:20 +02:00
Maximilian Lupke 8e9badd4f5 sequences.abbrev: Initial commit 2009-07-20 01:31:26 +02:00
Slava Pestov dbf04ff2ca opengl is for chumps 2009-07-19 14:34:24 -05:00
Slava Pestov e729ea3dea alien.inline.compiler: help-lint fix 2009-07-19 02:09:12 -05:00
Slava Pestov 7969581474 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-18 23:13:43 -05:00
Slava Pestov 200cd5d43f Merge branch 'marshall' of git://github.com/jedahu/factor 2009-07-18 23:13:22 -05:00
Slava Pestov a213db05db parser: remove outdated unit tests that were superseded by tests in vocabs.parser 2009-07-18 11:35:09 -05:00
Slava Pestov e630102252 vocabs.parser: add tests to assert that the correct errors get thrown 2009-07-18 07:02:13 -05:00
Slava Pestov a716e4cddb ui.tools.listener: selecting a word from a completion popup now behaves like a USE: followed by a FROM: 2009-07-18 06:55:15 -05:00
Slava Pestov db3991125f FROM: and RENAME: give a more meaningful error if the vocabulary does not exist 2009-07-18 06:51:29 -05:00
Slava Pestov 9cbd6c52a6 compiler.cfg.stack-analysis: fix outdated tests 2009-07-18 06:38:42 -05:00
Slava Pestov 4191deb525 combinators.short-circuit: fix unoptimized behavior to match optimized behavior, improved unit tests 2009-07-18 06:38:34 -05:00
Slava Pestov 4ee1f68e30 Documentation fixes 2009-07-18 06:32:57 -05:00
Slava Pestov 32e4a97855 compiler.cfg.linear-scan: fix tests 2009-07-18 06:10:01 -05:00
Slava Pestov 60f4f4c16e combinators.short-circuit: speed up in non-optimized code 2009-07-18 03:33:45 -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 cf826d80b0 classes.tuple: eliminate generic arithmetic from M: tuple = and M: tuple hashcode* 2009-07-18 02:09:56 -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 389b689796 slightly faster heaps, add benchmark 2009-07-18 00:52:24 -05:00
Slava Pestov ea69566ddd compiler.cfg.linear-scan: algorithmic optimizations 2009-07-18 00:14:39 -05:00
Jeremy Hughes 0560e3abea alien.inline.compiler: fixed linking on winnt (requires gcc.exe and g++.exe) 2009-07-18 17:08:53 +12: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 50a86a8d93 More efficient singleton predicates 2009-07-17 17:41:33 -05:00
Slava Pestov b76165facf Move ptrdiff_t arrays to specialized-arrays.ptrdiff_t 2009-07-17 03:51:23 -05:00
Slava Pestov fca74191ce Split off annotation code from opengl into opengl.annotations to reduce deployed image size 2009-07-17 01:06:34 -05:00
Slava Pestov e88e7f70be Merge branch 'master' of git://factorcode.org/git/factor 2009-07-17 00:03:13 -05:00
Slava Pestov 1d735bc32d compiler.tree.propagation.transforms: fix shift transform 2009-07-17 00:02:57 -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
Slava Pestov 7692c5d219 bit-arrays: specialize set-bits and clear-bits 2009-07-16 23:49:13 -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