diff options
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] |