From: Evan Cheng Date: Mon, 15 Jun 2009 22:32:01 +0000 (+0000) Subject: On Darwin, frame pointer r7 is never available. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=88cc7c419401b32b15e7af4038c67e2a81aac55a;p=oota-llvm.git 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 --- diff --git a/lib/Target/ARM/ARMRegisterInfo.cpp b/lib/Target/ARM/ARMRegisterInfo.cpp index d06da67a5f8..6298df9773f 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)));