Fix write register context in EmulateInstructionARM::EmulateADDRdSPImm

llvm-svn: 238410
This commit is contained in:
Tamas Berghammer 2015-05-28 10:38:32 +00:00
parent 64c701b3f7
commit 64d807e95d
1 changed files with 5 additions and 2 deletions

View File

@ -660,9 +660,12 @@ EmulateInstructionARM::EmulateADDRdSPImm (const uint32_t opcode, const ARMEncodi
}
addr_t sp_offset = imm32;
addr_t addr = sp + sp_offset; // a pointer to the stack area
EmulateInstruction::Context context;
context.type = eContextSetFramePointer;
if (Rd == GetFramePointerRegisterNumber())
context.type = eContextSetFramePointer;
else
context.type = EmulateInstruction::eContextRegisterPlusOffset;
RegisterInfo sp_reg;
GetRegisterInfo (eRegisterKindDWARF, dwarf_sp, sp_reg);
context.SetRegisterPlusOffset (sp_reg, sp_offset);