diff options
| author | Bob Wilson <bob.wilson@apple.com> | 2010-03-04 21:42:36 +0000 |
|---|---|---|
| committer | Bob Wilson <bob.wilson@apple.com> | 2010-03-04 21:42:36 +0000 |
| commit | 749ba9a7d5fc0fb85a62a8114e00584d42f5d999 (patch) | |
| tree | 87f4a3c19834c9eb44294cbde2a48c5eac49f5e0 /llvm/lib | |
| parent | 535c9c0ba2178b783a6a2e645861e318948a77a3 (diff) | |
| download | bcm5719-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.cpp | 4 |
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); |

