Explorar el Código

Merge branch 'master' of github.com:taddeus/peephole

Richard Torenvliet hace 14 años
padre
commit
98c43ff02c
Se han modificado 2 ficheros con 12 adiciones y 10 borrados
  1. 2 1
      src/liveness.py
  2. 10 9
      src/program.py

+ 2 - 1
src/liveness.py

@@ -29,7 +29,8 @@ def create_use_def(block):
     defined = set()
 
     if block.dummy:
-        block.use_set = set(['$4', '$5', '$6', '$7'])
+        block.use_set = set(['$4', '$5', '$6', '$7', \
+            '$f0', '$f3', '$f4', '$f12', '$2'])
         block.def_set = set(['$2', '$3'])
         return
 

+ 10 - 9
src/program.py

@@ -66,21 +66,22 @@ class Program(Block):
         if not hasattr(self, 'statements'):
             self.statements = self.get_statements()
 
-        return remove_redundant_jumps(self)
-#               | remove_redundant_branch_jumps(self)
+        return remove_redundant_jumps(self) \
+               | remove_redundant_branch_jumps(self)
+        return False
 
     def optimize_blocks(self):
         """Optimize on block level. Keep executing all optimizations until no
         more changes occur."""
         changed = False
 
-#        for block in self.blocks:
-#            if remove_redundancies(block) \
-#                    | eliminate_common_subexpressions(block) \
-#                    | fold_constants(block) \
-#                    | copy_propagation(block) \
-#                    | eliminate_dead_code(block):
-#                changed = True
+        for block in self.blocks:
+            if remove_redundancies(block) \
+                    | eliminate_common_subexpressions(block) \
+                    | fold_constants(block) \
+                    | copy_propagation(block) \
+                    | eliminate_dead_code(block):
+                 changed = True
 
         return changed