Commit Graph

12 Commits (b856cc5491207caa3ad2066977d2553ea56d5e8e)

Author SHA1 Message Date
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 10c68ebb21 New modular arithmetic optimization pass 2008-09-12 18:08:38 -05:00
Slava Pestov 54232f80ca Adding identity optimization pass, tweak inlining heuristic 2008-09-12 08:18:44 -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 e6637a1118 Cleanup 2008-09-08 19:02:24 -05:00
Slava Pestov dd45c26234 Oops, we weren't doing TCO in some cases 2008-08-31 05:40:29 -05:00
Slava Pestov 7359873b60 Minor compiler tweaks 2008-08-24 01:21:23 -05:00
Slava Pestov 9aa6d8ae04 Compiler fixes 2008-08-22 15:30:57 -05:00
Slava Pestov 86f11713e3 Fixing some more bugs 2008-08-22 03:12:15 -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 f2a5a30c6f New front-end and high-level optimizer lands 2008-08-12 03:22:45 -05:00