diff options
author | Evan Cheng <evan.cheng@apple.com> | 2009-06-15 22:32:01 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2009-06-15 22:32:01 +0000 |
commit | f691b829abecd66629e51a8868f8c2e829fb2b5e (patch) | |
tree | ed771eefa2e9df7f66db4004a9e8285a993c584d /llvm/lib/Target/ARM/ARMRegisterInfo.cpp | |
parent | 7889f2b5e27817b9230699e2557abdeb82da35f6 (diff) | |
download | llvm-f691b829abecd66629e51a8868f8c2e829fb2b5e.zip llvm-f691b829abecd66629e51a8868f8c2e829fb2b5e.tar.gz llvm-f691b829abecd66629e51a8868f8c2e829fb2b5e.tar.bz2 |
On Darwin, frame pointer r7 is never available.
llvm-svn: 73434
Diffstat (limited to 'llvm/lib/Target/ARM/ARMRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/ARM/ARMRegisterInfo.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMRegisterInfo.cpp index d06da67..6298df9 100644 --- a/llvm/lib/Target/ARM/ARMRegisterInfo.cpp +++ b/llvm/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))); |