summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2009-11-22 20:05:32 +0000
committerJim Grosbach <grosbach@apple.com>2009-11-22 20:05:32 +0000
commitfd963e11f50456e24b014eb7ecd0ba0674d943b9 (patch)
treecb65ad41805d05dd7296506a7b25ced301078126
parent5838108317e92649deee8a52e5463eb293ff1c0b (diff)
downloadbcm5719-llvm-fd963e11f50456e24b014eb7ecd0ba0674d943b9.tar.gz
bcm5719-llvm-fd963e11f50456e24b014eb7ecd0ba0674d943b9.zip
Move default FrameReg val to getFrameIndexReference(). Otherwise, debug info can get bogus values.
llvm-svn: 89618
-rw-r--r--llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
index cab82290f14..653328d8d02 100644
--- a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
@@ -807,6 +807,7 @@ ARMBaseRegisterInfo::getFrameIndexReference(MachineFunction &MF, int FI,
int Offset = MFI->getObjectOffset(FI) + MFI->getStackSize();
bool isFixed = MFI->isFixedObjectIndex(FI);
+ FrameReg = ARM::SP;
if (AFI->isGPRCalleeSavedArea1Frame(FI))
Offset -= AFI->getGPRCalleeSavedArea1Offset();
else if (AFI->isGPRCalleeSavedArea2Frame(FI))
@@ -1162,9 +1163,9 @@ ARMBaseRegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
assert(i < MI.getNumOperands() && "Instr doesn't have FrameIndex operand!");
}
- unsigned FrameReg = ARM::SP;
int FrameIndex = MI.getOperand(i).getIndex();
int Offset = MFI->getObjectOffset(FrameIndex) + MFI->getStackSize() + SPAdj;
+ unsigned FrameReg;
Offset = getFrameIndexReference(MF, FrameIndex, FrameReg);
if (FrameReg != ARM::SP)
OpenPOWER on IntegriCloud