From: Renato Golin Date: Thu, 15 Aug 2013 20:45:13 +0000 (+0000) Subject: make arm-reserve-r9 available for all ARM X-Git-Tag: android-x86-6.0-r1~129^2~3022 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=24adc8f60f0a39e45363eef5392fe1a7e27bd12f;p=android-x86%2Fexternal-llvm.git make arm-reserve-r9 available for all ARM r9 is defined as a platform-specific register in the ARM EABI. It can be reserved for a special purpose or be used as a general purpose register. Add support for reserving r9 for all ARM, while leaving the IOS usage unchanged. Patch by Jeroen Hofstee. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188485 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/ARMSubtarget.cpp b/lib/Target/ARM/ARMSubtarget.cpp index c592421d9a5..a94c9425fb5 100644 --- a/lib/Target/ARM/ARMSubtarget.cpp +++ b/lib/Target/ARM/ARMSubtarget.cpp @@ -169,9 +169,10 @@ void ARMSubtarget::resetSubtargetFeatures(StringRef CPU, StringRef FS) { if (isAAPCS_ABI()) stackAlignment = 8; - if (!isTargetIOS()) + if (!isTargetIOS()) { UseMovt = hasV6T2Ops(); - else { + IsR9Reserved = ReserveR9; + } else { IsR9Reserved = ReserveR9 | !HasV6Ops; UseMovt = DarwinUseMOVT && hasV6T2Ops(); SupportsTailCall = !getTargetTriple().isOSVersionLT(5, 0);