summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-03-04 21:42:36 +0000
committerBob Wilson <bob.wilson@apple.com>2010-03-04 21:42:36 +0000
commit749ba9a7d5fc0fb85a62a8114e00584d42f5d999 (patch)
tree87f4a3c19834c9eb44294cbde2a48c5eac49f5e0 /llvm/lib
parent535c9c0ba2178b783a6a2e645861e318948a77a3 (diff)
downloadbcm5719-llvm-749ba9a7d5fc0fb85a62a8114e00584d42f5d999.tar.gz
bcm5719-llvm-749ba9a7d5fc0fb85a62a8114e00584d42f5d999.zip
pr6478: The frame pointer spill frame index is only defined when there is a
frame pointer. llvm-svn: 97755
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
index 80449668caf..577c36318f7 100644
--- a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
@@ -1350,7 +1350,9 @@ emitPrologue(MachineFunction &MF) const {
unsigned DPRCSOffset = NumBytes - (GPRCS1Size + GPRCS2Size + DPRCSSize);
unsigned GPRCS2Offset = DPRCSOffset + DPRCSSize;
unsigned GPRCS1Offset = GPRCS2Offset + GPRCS2Size;
- AFI->setFramePtrSpillOffset(MFI->getObjectOffset(FramePtrSpillFI) + NumBytes);
+ if (STI.isTargetDarwin() || hasFP(MF))
+ AFI->setFramePtrSpillOffset(MFI->getObjectOffset(FramePtrSpillFI) +
+ NumBytes);
AFI->setGPRCalleeSavedArea1Offset(GPRCS1Offset);
AFI->setGPRCalleeSavedArea2Offset(GPRCS2Offset);
AFI->setDPRCalleeSavedAreaOffset(DPRCSOffset);
OpenPOWER on IntegriCloud