about summary refs log tree commit diff stats
path: root/miasm2/analysis/data_flow.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2017-04-14 16:58:53 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2017-04-21 10:59:37 +0200
commite6ab4fd79ea540de0dd4563f9b6605c8a2f7a1bd (patch)
treec9a0243c446a4f33563ea7ae56ad0794cff91d5d /miasm2/analysis/data_flow.py
parentbdd6b06076aea4bf5bbbf7ad6a8dbf89092ae315 (diff)
downloadmiasm-e6ab4fd79ea540de0dd4563f9b6605c8a2f7a1bd.tar.gz
miasm-e6ab4fd79ea540de0dd4563f9b6605c8a2f7a1bd.zip
Ir: Add ir graph helpers
Diffstat (limited to 'miasm2/analysis/data_flow.py')
-rw-r--r--miasm2/analysis/data_flow.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/miasm2/analysis/data_flow.py b/miasm2/analysis/data_flow.py
index dc1bf6ae..892a01c3 100644
--- a/miasm2/analysis/data_flow.py
+++ b/miasm2/analysis/data_flow.py
@@ -243,6 +243,7 @@ def dead_simp(ir_a):
     Source : Kennedy, K. (1979). A survey of data flow analysis techniques.
     IBM Thomas J. Watson Research Division, page 43
     """
+    modified = False
     reaching_defs = ReachingDefinitions(ir_a)
     defuse = DiGraphDefUse(reaching_defs, deref_mem=True)
     useful = set(dead_simp_useful_instrs(defuse, reaching_defs))
@@ -252,4 +253,6 @@ def dead_simp(ir_a):
             for lval in assignblk:
                 if InstrNode(block.label, idx, lval) not in useful:
                     del new_assignblk[lval]
+                    modified = True
             block.irs[idx] = AssignBlock(new_assignblk, assignblk.instr)
+    return modified