summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/Thumb1RegisterInfo.cpp
diff options
context:
space:
mode:
authorChad Rosier <mcrosier@apple.com>2011-10-10 01:03:35 +0000
committerChad Rosier <mcrosier@apple.com>2011-10-10 01:03:35 +0000
commit29b9d7e4ea7521be25bccdb66ecd9c9df5ed8b4b (patch)
treec0eaaef1e75d79ee4f5568e096fb228a50662066 /lib/Target/ARM/Thumb1RegisterInfo.cpp
parent68226a4d4627804c594d31344901455eb95ec93c (diff)
downloadllvm-29b9d7e4ea7521be25bccdb66ecd9c9df5ed8b4b.tar.gz
llvm-29b9d7e4ea7521be25bccdb66ecd9c9df5ed8b4b.tar.bz2
llvm-29b9d7e4ea7521be25bccdb66ecd9c9df5ed8b4b.tar.xz
Fix a regression from r138445. If we're loading from the frame/base pointer
the tADDrSPi instruction can't be used. Make sure we're updating the opcode to tADDi3 in all cases. rdar://10254707 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141523 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/Thumb1RegisterInfo.cpp')
-rw-r--r--lib/Target/ARM/Thumb1RegisterInfo.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/ARM/Thumb1RegisterInfo.cpp b/lib/Target/ARM/Thumb1RegisterInfo.cpp
index d6b0377809..e8ed482a66 100644
--- a/lib/Target/ARM/Thumb1RegisterInfo.cpp
+++ b/lib/Target/ARM/Thumb1RegisterInfo.cpp
@@ -454,6 +454,7 @@ rewriteFrameIndex(MachineBasicBlock::iterator II, unsigned FrameRegIdx,
// r0 = add sp, 255*4
// r0 = add r0, (imm - 255*4)
if (Opcode == ARM::tADDi3) {
+ MI.setDesc(TII.get(Opcode));
removeOperands(MI, FrameRegIdx);
MachineInstrBuilder MIB(&MI);
AddDefaultPred(AddDefaultT1CC(MIB).addReg(FrameReg).addImm(Mask));