Mercurial > lcfOS
comparison python/ppci/codegen/codegen.py @ 355:c2ddc8a36f5e
Enabled optimization
author | Windel Bouwman |
---|---|
date | Fri, 14 Mar 2014 10:30:13 +0100 |
parents | 442fb043d149 |
children | c49459768aaa |
comparison
equal
deleted
inserted
replaced
354:5477e499b039 | 355:c2ddc8a36f5e |
---|---|
1 from .. import ir | 1 from .. import ir |
2 from ..irutils import Verifier | 2 from ..irutils import Verifier |
3 from ..transform import RemoveAddZero | |
3 from ..target import Target | 4 from ..target import Target |
4 from .. import CompilerError | 5 from .. import CompilerError |
5 from .canon import make as canonicalize | 6 from .canon import make as canonicalize |
6 from .registerallocator import RegisterAllocator | 7 from .registerallocator import RegisterAllocator |
7 import logging | 8 import logging |
25 # Create a frame for this function: | 26 # Create a frame for this function: |
26 frame = self.target.FrameClass(ir.label_name(irfunc)) | 27 frame = self.target.FrameClass(ir.label_name(irfunc)) |
27 | 28 |
28 # Canonicalize the intermediate language: | 29 # Canonicalize the intermediate language: |
29 canonicalize(irfunc, frame) | 30 canonicalize(irfunc, frame) |
31 RemoveAddZero().run(irfunc) | |
30 self.logger.debug('after canonicalize', extra={'irfunc': irfunc}) | 32 self.logger.debug('after canonicalize', extra={'irfunc': irfunc}) |
31 self.verifier.verify_function(irfunc) | 33 self.verifier.verify_function(irfunc) |
32 self.ins_sel.munchFunction(irfunc, frame) | 34 self.ins_sel.munchFunction(irfunc, frame) |
33 self.logger.debug('Selected instructions', extra={'ppci_frame': frame}) | 35 self.logger.debug('Selected instructions', extra={'ppci_frame': frame}) |
34 | 36 |