about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2018-08-05 20:41:44 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2018-08-06 18:58:07 +0200
commitf35957e5fccebc6cbc35f9188f980119e2e891e0 (patch)
tree812c2a1e8a7feba26270be2c9ccf3a320e9a2fa5
parentd682539bac3e5ad59474ea6ad6af5f1760074b80 (diff)
downloadmiasm-f35957e5fccebc6cbc35f9188f980119e2e891e0.tar.gz
miasm-f35957e5fccebc6cbc35f9188f980119e2e891e0.zip
IR: simplify block cb
-rw-r--r--miasm2/ir/ir.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/miasm2/ir/ir.py b/miasm2/ir/ir.py
index 721101e2..38a24263 100644
--- a/miasm2/ir/ir.py
+++ b/miasm2/ir/ir.py
@@ -440,6 +440,21 @@ class IRBlock(object):
         return '\n'.join(out)
 
 
+    def simplify(self, simplifier):
+        """
+        Simplify expressions in each assignblock
+        @simplifier: ExpressionSimplifier instance
+        """
+        modified = False
+        assignblks = []
+        for assignblk in self:
+            new_assignblk = assignblk.simplify(simplifier)
+            if assignblk != new_assignblk:
+                modified = True
+            assignblks.append(new_assignblk)
+        return modified, IRBlock(self.loc_key, assignblks)
+
+
 class irbloc(IRBlock):
     """
     DEPRECATED object