Slava Pestov
e04df76f60
Various codegen improvements:
...
- new-insn word to construct instructions
- cache RPO in the CFG
- re-organize low-level optimizer so that MR is built after register allocation
- register allocation now stores instruction numbers in the instructions themselves
- split defs-vregs into defs-vregs and temp-vregs
2009-05-29 13:11:34 -05:00
Slava Pestov
280736ab00
On second thought, linearization will be done after SSA destruction so live-in is accurate
2009-05-29 05:45:40 -05:00
Slava Pestov
743550f19c
Put GC checks in the right place when linearizing, and generate _dispatch-labels
2009-05-29 05:36:04 -05:00
Slava Pestov
76d74c16af
Fixing various bugs; alias analysis wasn't handling ##phi nodes, stack analysis incorrectly handled height-changing back edges and ##fixnum-*, clean up ##dispatch generation
2009-05-29 01:39:14 -05:00
Slava Pestov
ceb332f596
compiler.cfg.alias-analysis: ##peek needs to set alias class of output value
2009-05-28 18:19:01 -05:00
Slava Pestov
dbf18927b9
compiler.cfg.liveness: correct handling of phi nodes
2009-05-28 17:54:27 -05:00
Slava Pestov
fc5587bda3
Test updates
2009-05-28 02:50:07 -05:00
Slava Pestov
ecece1d08b
CFG checker now checks consistency of successors and predecessors lists; fix long-standing bug in useless-blocks optimization
2009-05-28 02:49:51 -05:00
Slava Pestov
1fa465d77f
Fix alias analysis
2009-05-28 02:48:58 -05:00
Slava Pestov
7b88756fd0
Add a with-scope so that optimize-tree doesn't pollute namespace
2009-05-27 18:58:54 -05:00
Slava Pestov
117cb78d6b
Fixing local optimizations
2009-05-27 18:58:41 -05:00
Slava Pestov
f3688c9373
Better CFG checker
2009-05-27 18:58:14 -05:00
Slava Pestov
dadb9a2c50
Add phi elimination pass
2009-05-27 18:58:01 -05:00
Slava Pestov
3b79d61496
Add a new ##allocation union to remove some code duplication
2009-05-27 18:55:49 -05:00
Slava Pestov
2025823ba6
Remove old local DCE pass
2009-05-27 17:55:15 -05:00
Slava Pestov
ce25e0ad8d
New local-optimization combinator removes some boilerplate
2009-05-26 19:56:56 -05:00
Slava Pestov
1db81da264
Refactoring low-level optimizer to support stack analysis pass
2009-05-26 19:31:19 -05:00
Slava Pestov
eda44f28a6
Move maybe-set-at to assocs
2009-05-26 18:45:37 -05:00
Slava Pestov
ccb662c60e
Fix another bug in stack-analysis
2009-05-26 03:42:39 -05:00
Slava Pestov
7ea4e255fb
compiler.cfg.stack-analysis: make it pass more tests
2009-05-26 02:59:14 -05:00
Slava Pestov
8b022f926c
compiler.cfg.dce: new global dead code elimination pass
2009-05-26 02:58:57 -05:00
Slava Pestov
e0841fa695
compiler.cfg.checker: new check-rpo word
2009-05-26 02:58:40 -05:00
Slava Pestov
a08bbde2e7
compiler.cfg.stack-analysis: progress
2009-05-25 19:18:13 -05:00
Slava Pestov
dead771b3f
compiler.cfg.checker: new vocabulary for checking CFG invariants
2009-05-25 19:16:58 -05:00
Slava Pestov
a2b982e247
compiler.cfg.builder: don't make basic blocks after terminating calls
2009-05-25 19:16:36 -05:00
Slava Pestov
2322f30df2
Merge branch 'master' into global_optimization
2009-05-23 15:57:23 -05:00
Slava Pestov
98d282dd90
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-23 15:57:13 -05:00
Slava Pestov
b8aa633d58
Merge branch 'master' into global_optimization
2009-05-23 15:55:04 -05:00
Slava Pestov
43a1834e0b
stack-checker: fix case where invalid code could infer
2009-05-23 15:50:35 -05:00
Slava Pestov
145f1dbeef
compiler.cfg.stack-analysis: change how inc-d/inc-r work
2009-05-23 15:47:08 -05:00
Joe Groff
8e06eab2f2
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-23 08:39:17 -05:00
Joe Groff
3061cea61f
disable WGL_ARB_pixel_format code path in windows UI backend 'cause ATI drivers are shit
2009-05-23 08:39:01 -05:00
Slava Pestov
96975474b0
Merge branch 'master' into global_optimization
2009-05-23 01:03:24 -05:00
Slava Pestov
6061b68b0d
checksums.md5: make the new optimized code work with big endian CPUs
2009-05-23 00:31:52 -05:00
Slava Pestov
5fa0507b97
websites.concatenatieve: add builds.factorcode.org
2009-05-22 17:52:31 -05:00
Slava Pestov
b58c1780c6
One last tweak
2009-05-22 17:48:05 -05:00
Slava Pestov
760445c8e4
More cosmetic tweaks
2009-05-22 17:42:05 -05:00
Slava Pestov
a1436e69cd
webapps.mason: make it look like the factorcode.org site
2009-05-22 17:32:27 -05:00
Doug Coleman
07e30edfad
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-22 17:18:46 -05:00
Doug Coleman
d660dd4ed6
fix typo
2009-05-22 17:18:24 -05:00
Doug Coleman
92ecb2f3be
fix random.windows -- use CRYPT_MACHINE_KEYSET
2009-05-22 17:15:40 -05:00
Slava Pestov
bbad40683b
webapps.mason: spiff up download.xml a bit
2009-05-22 16:21:35 -05:00
Slava Pestov
d7ab0ad7c0
io.monitors: spawn-monitor was broken and never used, so remove it (reported by levi in #concatenative)
2009-05-22 02:04:36 -05:00
Slava Pestov
b63914c27d
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-22 02:01:06 -05:00
Slava Pestov
9cc178b738
If a vocab fails to load, manifest would be left in a weird state (reported by Joe Groff)
2009-05-22 01:59:50 -05:00
Slava Pestov
327a213f93
io.monitors: fix example (reported by levy in #concatenative0
2009-05-21 23:27:42 -05:00
Slava Pestov
4b2a2a9d0a
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-21 21:23:15 -05:00
Slava Pestov
028c877601
tuple-arrays: clean up a bit and add docs
2009-05-21 21:23:01 -05:00
Joe Groff
3276ae3a08
get rid of useless test
2009-05-21 20:56:57 -05:00
Joe Groff
440861c687
Merge branch 'master' of git://factorcode.org/git/factor
2009-05-21 20:55:57 -05:00