diff options
author | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-04-19 14:09:38 +0000 |
---|---|---|
committer | Lauro Ramos Venancio <lauro.venancio@gmail.com> | 2007-04-19 14:09:38 +0000 |
commit | 42cd7253b17f24ba341b8ab9dbb3c7eeeae232fd (patch) | |
tree | c42893318328e7954322b2db911324aba0af93d4 /llvm/lib | |
parent | aafe4e216e0501dfc112d57d15df19906144a14d (diff) | |
download | bcm5719-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.cpp | 5 |
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 { |