summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMRegisterInfo.cpp
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2009-06-15 22:32:01 +0000
committerEvan Cheng <evan.cheng@apple.com>2009-06-15 22:32:01 +0000
commit88cc7c419401b32b15e7af4038c67e2a81aac55a (patch)
tree418f9ff05ca3a65bc7c4b1a55df9c8ee49b5020a /lib/Target/ARM/ARMRegisterInfo.cpp
parentf57478f381e77e3afd8139fabe7faed991b40d69 (diff)
downloadllvm-88cc7c419401b32b15e7af4038c67e2a81aac55a.tar.gz
llvm-88cc7c419401b32b15e7af4038c67e2a81aac55a.tar.bz2
llvm-88cc7c419401b32b15e7af4038c67e2a81aac55a.tar.xz
On Darwin, frame pointer r7 is never available.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73434 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMRegisterInfo.cpp')
-rw-r--r--lib/Target/ARM/ARMRegisterInfo.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMRegisterInfo.cpp b/lib/Target/ARM/ARMRegisterInfo.cpp
index d06da67a5f..6298df9773 100644
--- a/lib/Target/ARM/ARMRegisterInfo.cpp
+++ b/lib/Target/ARM/ARMRegisterInfo.cpp
@@ -385,7 +385,7 @@ ARMRegisterInfo::getAllocationOrder(const TargetRegisterClass *RC,
if (Hint.first == ARMRI::RegPairEven) {
- if (!hasFP(MF)) {
+ if (!STI.isTargetDarwin() && !hasFP(MF)) {
if (!STI.isR9Reserved())
return std::make_pair(GPREven1,
GPREven1 + (sizeof(GPREven1)/sizeof(unsigned)));
@@ -408,7 +408,7 @@ ARMRegisterInfo::getAllocationOrder(const TargetRegisterClass *RC,
GPREven6 + (sizeof(GPREven6)/sizeof(unsigned)));
}
} else if (Hint.first == ARMRI::RegPairOdd) {
- if (!hasFP(MF)) {
+ if (!STI.isTargetDarwin() && !hasFP(MF)) {
if (!STI.isR9Reserved())
return std::make_pair(GPROdd1,
GPROdd1 + (sizeof(GPROdd1)/sizeof(unsigned)));