Commit Graph

23 Commits (e04df76f60c19e94e97d3713041b341d97bbede0)

Author SHA1 Message Date
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 05f3f9dcb9 Fixing unit tests for stack effect inference changes 2009-04-20 21:15:19 -05:00
Slava Pestov 37e278ed02 Use [ ] [ ] map-reduce instead of unclip [ ] reduce 2009-04-06 17:50:54 -05:00
Slava Pestov 421ee726b8 Merge branch 'master' into new_ui 2009-02-16 21:22:12 -06:00
Slava Pestov 6b25e99470 Add summary for heaps more vocabs 2009-02-16 21:05:13 -06:00
Slava Pestov 669548e62e Clean up some usages of tuck, and add Joe's curried cleave/spread/apply combinators to kernel vocabulary 2009-02-02 13:43:54 -06:00
Slava Pestov ca2f01e0d0 Updating non-core libraries for monotonic? change 2009-01-16 17:02:54 -06:00
Slava Pestov 34792a9f23 Remove >r/r> 2008-12-17 19:17:37 -06:00
Slava Pestov c8521ad826 Add tool to dump live intervals 2008-11-04 17:23:20 -06:00
Slava Pestov 1af3b8ed65 If a register is spilled and the reload location is also a copy, we chicken out and don't coalesce. This is suboptimal but it's not clear to me how to implement it cleanly, and SSA graph coloring will solve this problem eventually anyway 2008-11-04 00:32:56 -06:00
Slava Pestov 0250d7c1d2 Forgot a drop in unit test 2008-11-03 01:53:27 -06:00
Slava Pestov d11a779fdd RicE 2008-11-02 03:58:32 -06:00
Slava Pestov 8df1aba71d Coalescing 2008-11-02 01:49:57 -06:00
Slava Pestov db4db19cd9 Start working on coalescing 2008-10-28 02:38:37 -07:00
Slava Pestov ba0ed21e1d Better error message 2008-10-22 21:58:37 -05:00
Slava Pestov e92f795a76 More work on intrinsics; memory allocation and slot access now expands correctly 2008-10-20 20:40:15 -05:00
Slava Pestov f092622fac CFG IR is now pure SSA 2008-10-20 01:56:28 -05:00
Slava Pestov 14d8696f40 Oops, don't mix register classes in active set 2008-10-19 03:34:42 -05:00
Slava Pestov c0d89b061e Fixing register allocator prspilling 2008-10-19 01:10:21 -05:00
Slava Pestov 749c77d6b1 Fix linear scan test 2008-10-12 18:40:10 -05:00
Slava Pestov cf46a832e7 Debugging register allocator and inline allocation 2008-10-08 23:42:53 -05:00
Slava Pestov 7b6d9c4c4f Debugging new codegen 2008-10-07 20:00:38 -05:00
Slava Pestov f436fd0c0f Merging in new codegen 2008-10-07 16:16:50 -05:00