Commit Graph

5553 Commits (0b78d8fd3dc9ff5b3384ab21f44b04a1095c20d4)

Author SHA1 Message Date
Slava Pestov 0b78d8fd3d Fix bootstrap 2009-07-22 03:26:27 -05:00
Slava Pestov b6bb12eea7 compiler.cfg: Fix conflicts after merging local optimization refactoring into DCN branch 2009-07-22 03:17:53 -05:00
Slava Pestov 5d9f7b0ed2 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 670d694ab9 Merge branch 'master' into dcn 2009-07-22 02:07:08 -05:00
Slava Pestov 538a82b3bd Merge branch 'master' of git://factorcode.org/git/factor 2009-07-22 02:06:47 -05:00
Slava Pestov 89a048c0ac compiler.cfg.dataflow-analysis: iterative dataflow analysis framework 2009-07-22 02:06:35 -05:00
Slava Pestov 8d44994aae functors: add MIXIN:, SINGLETON: 2009-07-22 02:06:24 -05:00
Slava Pestov 8f1e1dbf6a compiler.cfg.dcn.global: redo using compiler.cfg.dataflow-analysis 2009-07-22 02:05:40 -05:00
Slava Pestov 1240b630e0 compiler.cfg.stack-analysis: Out with the old, in with the new 2009-07-22 00:52:25 -05:00
Slava Pestov 7198a7dc37 Merge branch 'master' of git://factorcode.org/git/factor into dcn 2009-07-22 00:14:53 -05:00
Slava Pestov 2e07fcdd6d compiler.cfg: Fix unit tests 2009-07-21 22:25:19 -05:00
Slava Pestov 4b51ef1391 compiler.cfg.dcn: Fixing various bugs, hook up with optimizer 2009-07-21 22:24:50 -05:00
Slava Pestov b4bd85181f Merge branch 'master' into dcn 2009-07-21 17:51:22 -05:00
Slava Pestov f09b2bff39 compiler.cfg.registers: minor optimization 2009-07-21 17:49:44 -05:00
Slava Pestov 9b3c593332 compiler.cfg.ssa: Cytron's SSA construction algorithm 2009-07-21 17:49:30 -05:00
Slava Pestov 6b779b45df compiler.cfg.dcn: remove stores to stack locations above top of stack (these are never read again) 2009-07-21 17:46:09 -05:00
Slava Pestov b3a2880f02 Merge branch 'master' into dcn 2009-07-21 03:08:42 -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 a05ff8530a compiler.cfg.dcn: flesh out rewrite pass 2009-07-21 01:24:19 -05:00
Slava Pestov 7139f55271 compiler.cfg: if a block has an instruction that kills values it must be the only instruction in the block 2009-07-19 20:12:04 -05:00
Slava Pestov 7a570eae0e compiler.cfg.dcn: Implement height tracking 2009-07-19 19:45:23 -05:00
Slava Pestov 0a4fd0d400 compiler.cfg.builder: annotate calls with height changes, once again 2009-07-18 23:08:53 -05:00
Slava Pestov a4317c1fd1 compiler.cfg.dcn: starting work on deconcatenatization pass to replace compiler.cfg.stack-analysis 2009-07-18 22:27:42 -05:00
Slava Pestov 469043fc31 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 a222fc6bd2 FROM: and RENAME: give a more meaningful error if the vocabulary does not exist 2009-07-18 06:51:29 -05:00
Slava Pestov 64f7a290f5 compiler.cfg.stack-analysis: fix outdated tests 2009-07-18 06:38:42 -05:00
Slava Pestov 6ca340ad28 combinators.short-circuit: fix unoptimized behavior to match optimized behavior, improved unit tests 2009-07-18 06:38:34 -05:00
Slava Pestov 5160bab4fd Documentation fixes 2009-07-18 06:32:57 -05:00
Slava Pestov 749522c29c compiler.cfg.linear-scan: fix tests 2009-07-18 06:10:01 -05:00
Slava Pestov 324d78f757 combinators.short-circuit: speed up in non-optimized code 2009-07-18 03:33:45 -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 812c4af9a2 slightly faster heaps, add benchmark 2009-07-18 00:52:24 -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 799b2b373a Move ptrdiff_t arrays to specialized-arrays.ptrdiff_t 2009-07-17 03:51:23 -05:00
Slava Pestov eeec5feae5 Split off annotation code from opengl into opengl.annotations to reduce deployed image size 2009-07-17 01:06:34 -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
Slava Pestov 692a0ba7ca bit-arrays: specialize set-bits and clear-bits 2009-07-16 23:49:13 -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 55ead133f8 help.lint.checks: don't throw strings 2009-07-16 21:38:54 -05:00
Slava Pestov e1f9f30f61 Merge branch 'master' of git://factorcode.org/git/factor 2009-07-16 18:30:14 -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