summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorLauro Ramos Venancio <lauro.venancio@gmail.com>2007-04-19 14:09:38 +0000
committerLauro Ramos Venancio <lauro.venancio@gmail.com>2007-04-19 14:09:38 +0000
commit42cd7253b17f24ba341b8ab9dbb3c7eeeae232fd (patch)
treec42893318328e7954322b2db911324aba0af93d4 /llvm/lib
parentaafe4e216e0501dfc112d57d15df19906144a14d (diff)
downloadbcm5719-llvm-42cd7253b17f24ba341b8ab9dbb3c7eeeae232fd.tar.gz
bcm5719-llvm-42cd7253b17f24ba341b8ab9dbb3c7eeeae232fd.zip
Fix a bug in getFrameRegister.
Reported by Raul Herbster. llvm-svn: 36262
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMRegisterInfo.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMRegisterInfo.cpp
index 09420071bf2..8177c806c23 100644
--- a/llvm/lib/Target/ARM/ARMRegisterInfo.cpp
+++ b/llvm/lib/Target/ARM/ARMRegisterInfo.cpp
@@ -1474,7 +1474,10 @@ unsigned ARMRegisterInfo::getRARegister() const {
}
unsigned ARMRegisterInfo::getFrameRegister(MachineFunction &MF) const {
- return STI.useThumbBacktraces() ? ARM::R7 : ARM::R11;
+ if (STI.isTargetDarwin() || hasFP(MF))
+ return STI.useThumbBacktraces() ? ARM::R7 : ARM::R11;
+ else
+ return ARM::SP;
}
unsigned ARMRegisterInfo::getEHExceptionRegister() const {
OpenPOWER on IntegriCloud