diff options
| author | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-07-18 07:44:59 +0200 |
|---|---|---|
| committer | Fabrice Desclaux <fabrice.desclaux@cea.fr> | 2018-07-18 07:45:08 +0200 |
| commit | 7d2227eeb09a0ec43a837082570a0cb955651daa (patch) | |
| tree | 04780ca818378f42bc91efe2fc2d88a2d77692f7 /miasm2/arch/mips32/ira.py | |
| parent | cf74092981e4f3fa7bed9ce182a38e570653a138 (diff) | |
| download | miasm-7d2227eeb09a0ec43a837082570a0cb955651daa.tar.gz miasm-7d2227eeb09a0ec43a837082570a0cb955651daa.zip | |
IR/Analysis: call_effects can add extra blocks
Diffstat (limited to 'miasm2/arch/mips32/ira.py')
| -rw-r--r-- | miasm2/arch/mips32/ira.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/miasm2/arch/mips32/ira.py b/miasm2/arch/mips32/ira.py index 3caa8b12..def75750 100644 --- a/miasm2/arch/mips32/ira.py +++ b/miasm2/arch/mips32/ira.py @@ -37,11 +37,12 @@ class ir_a_mips32l(ir_mips32l, ira): # CALL lbl = block.get_next() new_lbl = self.gen_label() - irs = self.call_effects(pc_val, instr) + call_assignblks, extra_irblocks = self.call_effects(pc_val, instr) + ir_blocks += extra_irblocks irs.append(AssignBlock([ExprAff(self.IRDst, ExprId(lbl, size=self.pc.size))], instr)) - new_irblocks.append(IRBlock(new_lbl, irs)) + new_irblocks.append(IRBlock(new_lbl, call_assignblks)) new_irblocks.append(irb.set_dst(ExprId(new_lbl, size=self.pc.size))) return new_irblocks |