Slava Pestov
|
9fa71959b5
|
compiler.cfg.coalescing: fix shuffling bug
|
2009-07-27 03:58:01 -05:00 |
Slava Pestov
|
e112b0d70e
|
compiler.cfg.phi-elimination: no longer needed
|
2009-07-27 02:20:53 -05:00 |
Slava Pestov
|
ba696b68b8
|
compiler.cfg.coalescing: more or less complete, now needs debugging
|
2009-07-27 02:20:45 -05:00 |
Slava Pestov
|
a32cbdd231
|
compiler.cfg.coalescing: more work done
|
2009-07-27 00:31:21 -05:00 |
Slava Pestov
|
501629cf75
|
compiler.tree.propagation.info: fix load error
|
2009-07-27 00:30:24 -05:00 |
Slava Pestov
|
a5e5510615
|
compiler.cfg.coalescing: work in progress
|
2009-07-26 21:11:26 -05:00 |
Slava Pestov
|
e9935b6aad
|
compiler.cfg.copy-prop: remove ##phi nodes where all inputs are copy-equivalent
|
2009-07-26 21:11:02 -05:00 |
Slava Pestov
|
fc41140720
|
compiler.cfg.utilities: move value-info utilities to compiler.tree.propagation.info
|
2009-07-26 21:10:33 -05:00 |
Slava Pestov
|
1319d8e549
|
compiler.cfg.def-use: build def-use chains
|
2009-07-26 21:10:14 -05:00 |
Slava Pestov
|
2137c9cc79
|
compiler.cfg.dominance: add pre order and max pre order numbers; use them to implement dominates? check
|
2009-07-26 21:10:05 -05:00 |
Joe Groff
|
eeb02815bc
|
set transform feedback format at program link
|
2009-07-25 21:19:56 -05:00 |
Slava Pestov
|
5bbd89f170
|
Merge branch 'dcn' of git://factorcode.org/git/factor into dcn
|
2009-07-24 20:30:11 -05:00 |
Slava Pestov
|
93764faad3
|
Merge branch 'master' of git://factorcode.org/git/factor into dcn
|
2009-07-24 20:29:09 -05:00 |
Slava Pestov
|
053de0af40
|
compiler.cfg.copy-prop: work in progress
|
2009-07-24 19:56:21 -05:00 |
Slava Pestov
|
2fb0198d48
|
compiler.cfg.parallel-copy: forgot to add this
|
2009-07-24 19:46:33 -05:00 |
Doug Coleman
|
c762d2b422
|
scaffold tools now uses the boolean type instead of "a boolean"
|
2009-07-24 18:09:14 -05:00 |
Slava Pestov
|
4624af75f4
|
compiler.cfg.phi-elimination: move some utilities from compiler.cfg.utilities here since that's the only place they get used
|
2009-07-24 16:45:31 -05:00 |
Slava Pestov
|
13c3fdcb5c
|
compiler.cfg: Fixing test failures
|
2009-07-24 06:08:07 -05:00 |
Slava Pestov
|
7068de6cd3
|
compiler.cfg.copy-prop: Global copy propagation
|
2009-07-24 05:30:46 -05:00 |
Slava Pestov
|
e0f6d89ff1
|
compiler.cfg.value-numbering: insert ##copy instructions for instructions whose expressions simplify. While subsequent usages are replaced with the instruction computing the simplified vreg locally, global usages may exist of the original instruction. In this case, the ##copy is not dead
|
2009-07-24 05:30:30 -05:00 |
Slava Pestov
|
de73534424
|
compiler.cfg.write-barrier: simplify a little bit. It doesn't need to do copy propagation, since its a separate pass now
|
2009-07-24 05:29:28 -05:00 |
Slava Pestov
|
7590ad3574
|
compiler.cfg: introduce less temporaries when building CFG
|
2009-07-24 03:37:18 -05:00 |
Slava Pestov
|
548e575ad9
|
Merge branch 'master' into dcn
|
2009-07-23 21:25:52 -05:00 |
Slava Pestov
|
2bea107202
|
compiler.cfg.builder: fix stack effect declaration
|
2009-07-23 21:24:15 -05:00 |
Slava Pestov
|
d947c61bd7
|
compiler.cfg.stacks: now performs online local DCN
|
2009-07-23 20:54:38 -05:00 |
Doug Coleman
|
f7b2e4a155
|
remove call to check-c-name
|
2009-07-23 18:14:07 -05:00 |
Doug Coleman
|
9bb38b870c
|
allow FUNCTION: to parse pointers in the name field
|
2009-07-23 18:05:09 -05:00 |
Slava Pestov
|
ff7f0e2f3b
|
Add testcase for recent bug
|
2009-07-23 18:03:14 -05:00 |
Slava Pestov
|
b1afd4c491
|
compiler.cfg.linear-scan.mapping: simplify
|
2009-07-23 18:03:04 -05:00 |
Slava Pestov
|
747a2d72c8
|
compiler.cfg.empty-blocks: new pass to delete empty blocks, runs after phi elimination
|
2009-07-23 18:02:46 -05:00 |
Slava Pestov
|
93c58a8bb5
|
compiler.cfg.branch-splitting: now that we do SSA construction we can split branches with fixnum overflow ops (which have a live-out)
|
2009-07-23 18:02:29 -05:00 |
Doug Coleman
|
555309ba86
|
fix another typo in ffi
|
2009-07-23 17:49:04 -05:00 |
Doug Coleman
|
37a9f01adc
|
fix typo in x11 binding
|
2009-07-23 17:39:12 -05:00 |
Doug Coleman
|
78bbf96a6d
|
move signed-le> to io.binary, clean up using list for math.bitwise
|
2009-07-23 15:54:57 -05:00 |
Doug Coleman
|
bad8e05937
|
Disallow C functions and parameter names that contain an asterisk
|
2009-07-23 15:48:10 -05:00 |
Joe Groff
|
739d99d4e8
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-23 13:39:52 -05:00 |
Slava Pestov
|
7f87335afe
|
Merge branch 'master' into dcn
|
2009-07-22 21:12:14 -05:00 |
Slava Pestov
|
dd2bbc51b3
|
unix.types: define <time_t> alias; use it in calendar.unix to avoid clobbering data
|
2009-07-22 21:12:04 -05:00 |
Slava Pestov
|
610c3b33c7
|
compiler.cfg.intrinsics: Disable inline allocation for now
|
2009-07-22 21:11:06 -05:00 |
Slava Pestov
|
69ded76c66
|
Fixing compiler tests
|
2009-07-22 21:10:50 -05:00 |
Slava Pestov
|
45c66b58af
|
compiler.cfg.dcn.rewrite: remove unused word
|
2009-07-22 19:18:12 -05:00 |
Slava Pestov
|
5559d77d05
|
compiler.cfg.checker: eliminate dead code before checking MR
|
2009-07-22 19:17:57 -05:00 |
Slava Pestov
|
d29c275089
|
compiler.cfg.builder: Fix construction of ##return instructions from #return-recursive nodes
|
2009-07-22 19:17:21 -05:00 |
Joe Groff
|
ac2c65e920
|
OR gl extension testing
|
2009-07-22 12:06:30 -05:00 |
Slava Pestov
|
091d2d07f2
|
Merge branch 'master' into dcn
|
2009-07-22 06:19:44 -05:00 |
Slava Pestov
|
995a96d7e4
|
compiler.cfg.dominance: fix unit tests
|
2009-07-22 06:19:31 -05:00 |
Slava Pestov
|
26a5d51d93
|
compiler.cfg.ssa: now builds pruned SSA form
|
2009-07-22 06:08:04 -05:00 |
Slava Pestov
|
d864214119
|
compiler.cfg.dominance: add algorithm for computing iterated dominance frontiers
|
2009-07-22 06:07:51 -05:00 |
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
|
31491df5f1
|
Removed unused code from compiler.cfg.def-use
|
2009-07-22 06:05:33 -05:00 |
Slava Pestov
|
44bcd258f6
|
Insert _loop-entry in linearization pass instead of in CFG builder, so that optimizations don't have to worry about it
|
2009-07-22 06:05:17 -05:00 |
Slava Pestov
|
1e5ce41364
|
Fix bootstrap
|
2009-07-22 03:26:27 -05:00 |
Slava Pestov
|
25c42d04fd
|
compiler.cfg: Fix conflicts after merging local optimization refactoring into DCN branch
|
2009-07-22 03:17:53 -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
|
55111bdc24
|
Merge branch 'master' into dcn
|
2009-07-22 02:07:08 -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
|
b39b0dd393
|
compiler.cfg.dcn.global: redo using compiler.cfg.dataflow-analysis
|
2009-07-22 02:05:40 -05:00 |
Slava Pestov
|
b869e1250c
|
compiler.cfg.stack-analysis: Out with the old, in with the new
|
2009-07-22 00:52:25 -05:00 |
Slava Pestov
|
86df665f78
|
Merge branch 'master' of git://factorcode.org/git/factor into dcn
|
2009-07-22 00:14:53 -05:00 |
Slava Pestov
|
1aa6c9a0d5
|
compiler.cfg: Fix unit tests
|
2009-07-21 22:25:19 -05:00 |
Slava Pestov
|
e49de006c4
|
compiler.cfg.dcn: Fixing various bugs, hook up with optimizer
|
2009-07-21 22:24:50 -05:00 |
Slava Pestov
|
cfb584ed8d
|
Merge branch 'master' into dcn
|
2009-07-21 17:51:22 -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
|
802b4ffdf5
|
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
|
441c2bae2d
|
Merge branch 'master' into dcn
|
2009-07-21 03:08:42 -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
|
e16acae2f5
|
compiler.cfg.dcn: flesh out rewrite pass
|
2009-07-21 01:24:19 -05:00 |
Slava Pestov
|
fdef772d67
|
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
|
0a95ddd105
|
compiler.cfg.dcn: Implement height tracking
|
2009-07-19 19:45:23 -05:00 |
Slava Pestov
|
605b37a949
|
compiler.cfg.builder: annotate calls with height changes, once again
|
2009-07-18 23:08:53 -05:00 |
Slava Pestov
|
ec1407bdae
|
compiler.cfg.dcn: starting work on deconcatenatization pass to replace compiler.cfg.stack-analysis
|
2009-07-18 22:27:42 -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
|
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 |
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
|
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 |
Daniel Ehrenberg
|
8477cf8e91
|
Phi elimination doesn't have the swap problem now
|
2009-07-16 22:42:13 -05:00 |
Slava Pestov
|
afec68db24
|
help.lint.checks: don't throw strings
|
2009-07-16 21:38:54 -05:00 |
Slava Pestov
|
490ea139a9
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-07-16 18:30:14 -05:00 |