about summary refs log tree commit diff stats
path: root/miasm2/analysis/ssa.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2019-02-04 21:04:27 +0100
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2019-02-18 22:49:33 +0100
commitdb44ff49a2997d7916971d36f0f86cd8a530cf7c (patch)
treec1a429697812d12dfe5ec3a94f27c706a566c362 /miasm2/analysis/ssa.py
parent9d436568f57d574d97ab6f3dd61816e1bae32a0d (diff)
downloadmiasm-db44ff49a2997d7916971d36f0f86cd8a530cf7c.tar.gz
miasm-db44ff49a2997d7916971d36f0f86cd8a530cf7c.zip
IR: add simplifier
Diffstat (limited to 'miasm2/analysis/ssa.py')
-rw-r--r--miasm2/analysis/ssa.py9
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: