Commit Graph

19 Commits (99faf3c79fac922f9e4788303a3ed1cac85d5c16)

Author SHA1 Message Date
Slava Pestov 82e77d891a compiler.cfg.block-joining: join basic blocks connected by a single edge to improve effectiveness of local optimizations 2009-07-16 02:17:58 -05:00
Slava Pestov b65ef327ce compiler.cfg.value-numbering: merge in compiler.cfg.branch-folding 2009-07-14 20:05:01 -05:00
Slava Pestov 01f9addc3a compiler.cfg.branch-splitting: split blocks with successors 2009-07-13 10:44:08 -05:00
Slava Pestov 8364f1146c compiler.cfg.optimizer: enable branch folding 2009-07-02 01:05:59 -05:00
Slava Pestov 4983091344 compiler.cfg.optimizer: disable branch folding for now 2009-06-30 23:07:27 -05:00
Slava Pestov cdd95472c7 compiler.cfg.branch-folding: fold away branches where both inputs are the same register. This results in 'push' being compiled slightly better 2009-06-30 22:43:32 -05:00
Slava Pestov 139bb68f8e Change branch splitting around a bit, rename useless-blocks to useless-conditionals and rewrite it 2009-06-30 22:11:15 -05:00
Slava Pestov 89fbc8efb4 compiler.cfg.tco: Tail call optimization moved out of compiler.cfg.builder into its own pass 2009-06-30 20:13:35 -05:00
Slava Pestov 6cb4966075 Fix bootstrap and unit test 2009-06-26 17:44:33 -05:00
Slava Pestov 3b8733de01 Redesign compiler.cfg.stack-analysis to make compiler.cfg.height redundant, and to fix some problems 2009-06-26 17:29:55 -05:00
Slava Pestov d830838ffa compiler.cfg.optimizer: disable CFG checker by default 2009-06-05 18:07:22 -05:00
Slava Pestov 2b49600f42 compiler.cfg.checker: run if a variable is set 2009-06-05 17:32:12 -05:00
Slava Pestov 968a9bb666 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 dd8152f7bb Add phi elimination pass 2009-05-27 18:58:01 -05:00
Slava Pestov 25805f9bfe Refactoring low-level optimizer to support stack analysis pass 2009-05-26 19:31:19 -05:00
Slava Pestov 445e353337 Optimize away useless jumps 2008-11-02 23:09:31 -06:00
Slava Pestov 885adc8dc9 Various improvements 2008-10-23 05:27:54 -05:00
Slava Pestov d723b69990 Value numbering 2008-10-22 21:59:07 -05:00
Slava Pestov 9a07760542 CFG optimizer 2008-10-22 18:41:37 -05:00