diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-04 21:04:27 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-18 22:49:33 +0100 |
| commit | db44ff49a2997d7916971d36f0f86cd8a530cf7c (patch) | |
| tree | c1a429697812d12dfe5ec3a94f27c706a566c362 /miasm2/analysis/ssa.py | |
| parent | 9d436568f57d574d97ab6f3dd61816e1bae32a0d (diff) | |
| download | miasm-db44ff49a2997d7916971d36f0f86cd8a530cf7c.tar.gz miasm-db44ff49a2997d7916971d36f0f86cd8a530cf7c.zip | |
IR: add simplifier
Diffstat (limited to 'miasm2/analysis/ssa.py')
| -rw-r--r-- | miasm2/analysis/ssa.py | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/miasm2/analysis/ssa.py b/miasm2/analysis/ssa.py index 5e1a872b..036d92ca 100644 --- a/miasm2/analysis/ssa.py +++ b/miasm2/analysis/ssa.py @@ -595,10 +595,11 @@ class SSADiGraph(SSA): # Replace non modified node used in phi with new variable self.ircfg.simplify(lambda expr:expr.replace_expr(var_to_newname)) - irblock = self.ircfg.blocks[head] - assignblks = list(irblock) - assignblks[0:0] = [AssignBlock(newname_to_var, assignblks[0].instr)] - self.ircfg.blocks[head] = IRBlock(head, assignblks) + if newname_to_var: + irblock = self.ircfg.blocks[head] + assignblks = list(irblock) + assignblks[0:0] = [AssignBlock(newname_to_var, assignblks[0].instr)] + self.ircfg.blocks[head] = IRBlock(head, assignblks) # Updt structure for loc_key in self._phinodes: |