diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-01 07:41:28 +0100 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2019-02-12 08:07:18 +0100 |
| commit | 00ba934bac0263bcf9a38a3c5635684674a24441 (patch) | |
| tree | bb7f001ce2f370fbb13a3baac1eb97cf3e6e68a7 /example/disasm/full.py | |
| parent | 7e56aefcda654586136278db3886be640c9ce800 (diff) | |
| download | focaccia-miasm-00ba934bac0263bcf9a38a3c5635684674a24441.tar.gz focaccia-miasm-00ba934bac0263bcf9a38a3c5635684674a24441.zip | |
IR: del unused edges during IR simplifications
Diffstat (limited to 'example/disasm/full.py')
| -rw-r--r-- | example/disasm/full.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/example/disasm/full.py b/example/disasm/full.py index d159e8c6..42d50216 100644 --- a/example/disasm/full.py +++ b/example/disasm/full.py @@ -8,9 +8,12 @@ from miasm2.core.interval import interval from miasm2.analysis.machine import Machine from miasm2.analysis.data_flow import dead_simp, DiGraphDefUse, \ ReachingDefinitions, merge_blocks, remove_empty_assignblks, \ - PropagateExpr, replace_stack_vars, load_from_int + PropagateExpr, replace_stack_vars, load_from_int, \ + del_unused_edges from miasm2.expression.simplifications import expr_simp -from miasm2.analysis.ssa import SSADiGraph, UnSSADiGraph, DiGraphLivenessSSA +from miasm2.analysis.ssa import SSADiGraph +from miasm2.analysis.outofssa import UnSSADiGraph +from miasm2.analysis.data_flow import DiGraphLivenessSSA from miasm2.ir.ir import AssignBlock, IRBlock @@ -395,6 +398,9 @@ if args.propagexpr: if args.verbose > 3: open('tmp_after_%d.dot' % index, 'w').write(ircfg_a.dot()) simp_modified |= remove_empty_assignblks(ircfg_a) + simp_modified |= del_unused_edges(ircfg_a, heads) + simp_modified |= merge_blocks(ircfg_a, heads) + if args.loadint: simp_modified |= load_from_int(ircfg_a, bs, is_addr_ro_variable) modified |= simp_modified |