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