Skip to content
Snippets Groups Projects
Commit 98c43ff0 authored by Richard Torenvliet's avatar Richard Torenvliet
Browse files

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

parents f214ed27 8e9c42fb
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment