about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-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