diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2017-04-14 16:58:53 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2017-04-21 10:59:37 +0200 |
| commit | e6ab4fd79ea540de0dd4563f9b6605c8a2f7a1bd (patch) | |
| tree | c9a0243c446a4f33563ea7ae56ad0794cff91d5d /miasm2/analysis/data_flow.py | |
| parent | bdd6b06076aea4bf5bbbf7ad6a8dbf89092ae315 (diff) | |
| download | miasm-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.py | 3 |
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 |