Fix a bug in getFrameRegister.
authorLauro Ramos Venancio <lauro.venancio@gmail.com>
Thu, 19 Apr 2007 14:09:38 +0000 (14:09 +0000)
committerLauro Ramos Venancio <lauro.venancio@gmail.com>
Thu, 19 Apr 2007 14:09:38 +0000 (14:09 +0000)
Reported by Raul Herbster.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36262 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMRegisterInfo.cpp

index 09420071bf264638d7c2751d56947f61cc7c03a2..8177c806c230c48900a95eb2ac4dbc20f038ddce 100644 (file)
@@ -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 {