diff options
| author | Camille Mougey <commial@gmail.com> | 2019-02-22 13:05:15 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-22 13:05:15 +0100 |
| commit | 016eed425db47346dc0c84f1964a2ef88ee6840e (patch) | |
| tree | 3b7abe5146cf31be3158f75897cfead631b041e3 /example/disasm/full.py | |
| parent | 9c063fb1ddd5e6eaa54d6d83048715b3ab8b9191 (diff) | |
| parent | 6f67a5503615bbc0b481f29991d717b84a0bcd78 (diff) | |
| download | miasm-016eed425db47346dc0c84f1964a2ef88ee6840e.tar.gz miasm-016eed425db47346dc0c84f1964a2ef88ee6840e.zip | |
Merge pull request #985 from serpilliere/fix_propagation
Fix propagation
Diffstat (limited to 'example/disasm/full.py')
| -rw-r--r-- | example/disasm/full.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/example/disasm/full.py b/example/disasm/full.py index 19036882..5161a299 100644 --- a/example/disasm/full.py +++ b/example/disasm/full.py @@ -330,9 +330,20 @@ if args.propagexpr: modified = super(CustomIRCFGSimplifierSSA, self).do_simplify(ssa, head) if args.loadint: modified |= load_from_int(ssa.graph, bs, is_addr_ro_variable) + + def simplify(self, ircfg, head): + ssa = self.ircfg_to_ssa(ircfg, head) + ssa = self.do_simplify_loop(ssa, head) + ircfg = self.ssa_to_unssa(ssa, head) + if args.stack2var: - modified |= replace_stack_vars(self.ir_arch, ssa) - return modified + replace_stack_vars(self.ir_arch, ircfg) + + ircfg_simplifier = IRCFGSimplifierCommon(self.ir_arch) + ircfg_simplifier.simplify(ircfg, head) + return ircfg + + head = list(entry_points)[0] |