diff options
| author | Camille Mougey <commial@gmail.com> | 2017-04-20 12:58:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-04-20 12:58:40 +0200 |
| commit | 4f5206dd8774a82ed2c864f4e6fe2d512f9d4408 (patch) | |
| tree | 418429f7a3cdedf5efdf074126bc76dbd04f9657 /miasm2/analysis/data_flow.py | |
| parent | ff981a11ef71960a239ec44295f06bb384124521 (diff) | |
| parent | 4d511eab15845e519e5a8b0d9f742a550768b709 (diff) | |
| download | miasm-4f5206dd8774a82ed2c864f4e6fe2d512f9d4408.tar.gz miasm-4f5206dd8774a82ed2c864f4e6fe2d512f9d4408.zip | |
Merge pull request #528 from serpilliere/assignblock_ro
Assignblock ro
Diffstat (limited to 'miasm2/analysis/data_flow.py')
| -rw-r--r-- | miasm2/analysis/data_flow.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/miasm2/analysis/data_flow.py b/miasm2/analysis/data_flow.py index b9764daa..dc1bf6ae 100644 --- a/miasm2/analysis/data_flow.py +++ b/miasm2/analysis/data_flow.py @@ -2,6 +2,7 @@ from collections import namedtuple from miasm2.core.graph import DiGraph +from miasm2.ir.ir import AssignBlock class ReachingDefinitions(dict): """ @@ -247,6 +248,8 @@ def dead_simp(ir_a): useful = set(dead_simp_useful_instrs(defuse, reaching_defs)) for block in ir_a.blocks.itervalues(): for idx, assignblk in enumerate(block.irs): - for lval in assignblk.keys(): + new_assignblk = dict(assignblk) + for lval in assignblk: if InstrNode(block.label, idx, lval) not in useful: - del assignblk[lval] + del new_assignblk[lval] + block.irs[idx] = AssignBlock(new_assignblk, assignblk.instr) |