Slava Pestov
5fdb474c76
Fixing various test failures and updating some more vocabs for >r/r> removal
2008-12-17 22:29:32 -06:00
Slava Pestov
34792a9f23
Remove >r/r>
2008-12-17 19:17:37 -06:00
Slava Pestov
db92c90569
Eliminate some usages of locals in compiler.tree.dead-code
2008-12-09 01:04:15 -06:00
Slava Pestov
145b635eb6
More optimization intended to reduce compile time. Another 10% speedup on compiling empty PEG parser
...
- new map-flat combinator replaces usages of 'map flatten' in compiler
- compiler.tree.def-use.simplified uses an explicit accumulator instead of flatten
- compiler.tree.tuple-unboxing uses an explicit accumulator instead of flatten
- fix inlining regression from last time: custom inlining results would sometimes be discarded
- compiler.tree's 3each and 3map combinators rewritten to not use flip
- rewrite math.partial-dispatch without locals (purely stylistic, no performance increase)
- hand-optimize flip for common arrays-of-arrays case
- don't run escape analysis and tuple unboxing if there are no allocations in the IR
2008-12-06 11:17:19 -06:00
Slava Pestov
e5ed7447ed
Removing more >r/r> usages
2008-12-03 08:46:16 -06:00
Slava Pestov
7fc13ef03c
dlists no longer have a length slot; tweak dlist code so that types infer better
2008-11-16 05:53:25 -06:00
Slava Pestov
26f309d2ae
Trying to make PEGs compile faster by reducing the number of low level IR nodes: merge functionality of #>r and #r> into #shuffle, and generate 1 node instead of 3 for calls to get-local
2008-11-11 18:46:31 -06:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Slava Pestov
a211e44bb9
Found a place to use the locals in literals feature
2008-09-13 04:43:29 -05:00
Slava Pestov
10c68ebb21
New modular arithmetic optimization pass
2008-09-12 18:08:38 -05:00
Slava Pestov
40da49bef5
Perform loop detection before normalization, clean up normalization pass, more aggressive recursive return value propagation. Fixes regression on nsieve benchmark
2008-09-12 05:17:27 -05:00
Slava Pestov
cf80dd122a
Updating code for make and fry changes
2008-09-10 22:11:40 -05:00
U-SLAVA-DFB8FF805\Slava
8fed0d29eb
Fix dead code elimination with alien nodes
2008-09-01 02:04:42 -05:00
Slava Pestov
3cef7c9992
Smarter usage tracking system
2008-08-30 02:31:27 -05:00
Slava Pestov
85cdb1b767
Working on new compiled usage strategy; old one was wrong
2008-08-30 00:05:27 -05:00
Slava Pestov
6ead724b25
Fixing bugs
2008-08-29 04:23:39 -05:00
Slava Pestov
74dccc7fbf
Debugging compiler
2008-08-28 22:28:34 -05:00
Slava Pestov
f471659810
Fix load error
2008-08-27 05:54:01 -05:00
Slava Pestov
799cefc39a
Fix conflict
2008-08-27 05:52:38 -05:00
Slava Pestov
fd8136786b
Cleaning up DCE
2008-08-22 18:09:48 -05:00
Slava Pestov
2440fc1ceb
Fixing remaining issues
2008-08-22 17:38:23 -05:00
Slava Pestov
86f11713e3
Fixing some more bugs
2008-08-22 03:12:15 -05:00
Slava Pestov
17758f3749
Stack flow checker; various fixes
2008-08-19 17:11:33 -05:00
Slava Pestov
0efec0eff1
DCE fixes
2008-08-18 21:30:10 -05:00
Slava Pestov
aa9341e579
Enforce that usages of >r/r> must be balanced within a quotation
2008-08-18 20:49:03 -05:00
Slava Pestov
9b6fb70eba
Debugging optimizer
2008-08-18 15:47:49 -05:00
Slava Pestov
e1987d4af9
Debugging new optimizer
2008-08-14 23:35:19 -05:00
Slava Pestov
a61e13f7be
More aggressive DCE
2008-08-13 23:52:49 -05:00
Slava Pestov
a982e564bf
More DCE work
2008-08-13 18:56:50 -05:00
Slava Pestov
4f82ebdc23
DCE work in progress
2008-08-13 14:17:04 -05:00
Slava Pestov
56d272df9e
Merge branch 'master' into new_optimizer
2008-08-12 03:36:44 -05:00
Slava Pestov
f2a5a30c6f
New front-end and high-level optimizer lands
2008-08-12 03:22:45 -05:00