[llvm] r188485 - make arm-reserve-r9 available for all ARM

Renato Golin renato.golin at linaro.org
Thu Aug 15 13:45:13 PDT 2013


Author: rengolin
Date: Thu Aug 15 15:45:13 2013
New Revision: 188485

URL: http://llvm.org/viewvc/llvm-project?rev=188485&view=rev
Log:
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.

Modified:
    llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp?rev=188485&r1=188484&r2=188485&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMSubtarget.cpp Thu Aug 15 15:45:13 2013
@@ -169,9 +169,10 @@ void ARMSubtarget::resetSubtargetFeature
   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);





More information about the llvm-commits mailing list