<div dir="ltr">Awesome. Thanks for the cleanup Akira!<div><br></div><div>-eric</div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Jul 27, 2015 at 12:34 PM Akira Hatanaka <<a href="mailto:ahatanaka@apple.com">ahatanaka@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: ahatanak<br>
Date: Mon Jul 27 14:18:47 2015<br>
New Revision: 243308<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D243308-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=iz65wfjCtApKdSi3ydn4nCeQ85iNSQJw7EbbFnizORs&s=bZk44zA-4KtaLOUwM-l5-j1-86Gq60JxuEEhqhv5GiE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=243308&view=rev</a><br>
Log:<br>
[AArch64] Remove check for Darwin that was needed to decide if x18 should<br>
be reserved.<br>
<br>
The decision to reserve x18 is going to be made solely by the front-end,<br>
so it isn't necessary to check if the OS is Darwin in the backend.<br>
<br>
Modified:<br>
    llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.cpp<br>
    llvm/trunk/test/CodeGen/AArch64/arm64-platform-reg.ll<br>
    llvm/trunk/test/CodeGen/AArch64/arm64-stackmap.ll<br>
<br>
Modified: llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_lib_Target_AArch64_AArch64RegisterInfo.cpp-3Frev-3D243308-26r1-3D243307-26r2-3D243308-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=iz65wfjCtApKdSi3ydn4nCeQ85iNSQJw7EbbFnizORs&s=-bmem7ccpyQ1-iCWSY5FcHBtBmBgb-Of8rkx9tziiAM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.cpp?rev=243308&r1=243307&r2=243308&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.cpp (original)<br>
+++ llvm/trunk/lib/Target/AArch64/AArch64RegisterInfo.cpp Mon Jul 27 14:18:47 2015<br>
@@ -100,7 +100,7 @@ AArch64RegisterInfo::getReservedRegs(con<br>
     Reserved.set(AArch64::W29);<br>
   }<br>
<br>
-  if (TT.isOSDarwin() || MF.getSubtarget<AArch64Subtarget>().isX18Reserved()) {<br>
+  if (MF.getSubtarget<AArch64Subtarget>().isX18Reserved()) {<br>
     Reserved.set(AArch64::X18); // Platform register<br>
     Reserved.set(AArch64::W18);<br>
   }<br>
@@ -127,8 +127,7 @@ bool AArch64RegisterInfo::isReservedReg(<br>
     return true;<br>
   case AArch64::X18:<br>
   case AArch64::W18:<br>
-    return TT.isOSDarwin() ||<br>
-           MF.getSubtarget<AArch64Subtarget>().isX18Reserved();<br>
+    return MF.getSubtarget<AArch64Subtarget>().isX18Reserved();<br>
   case AArch64::FP:<br>
   case AArch64::W29:<br>
     return TFI->hasFP(MF) || TT.isOSDarwin();<br>
@@ -398,12 +397,11 @@ unsigned AArch64RegisterInfo::getRegPres<br>
   case AArch64::GPR64RegClassID:<br>
   case AArch64::GPR32commonRegClassID:<br>
   case AArch64::GPR64commonRegClassID:<br>
-    return 32 - 1                                // XZR/SP<br>
-      - (TFI->hasFP(MF) || TT.isOSDarwin()) // FP<br>
-      - (TT.isOSDarwin() ||<br>
-         MF.getSubtarget<AArch64Subtarget>()<br>
-             .isX18Reserved()) // X18 reserved as platform register<br>
-      - hasBasePointer(MF);    // X19<br>
+    return 32 - 1                                   // XZR/SP<br>
+              - (TFI->hasFP(MF) || TT.isOSDarwin()) // FP<br>
+              - MF.getSubtarget<AArch64Subtarget>()<br>
+                    .isX18Reserved() // X18 reserved as platform register<br>
+              - hasBasePointer(MF);  // X19<br>
   case AArch64::FPR8RegClassID:<br>
   case AArch64::FPR16RegClassID:<br>
   case AArch64::FPR32RegClassID:<br>
<br>
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-platform-reg.ll<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_CodeGen_AArch64_arm64-2Dplatform-2Dreg.ll-3Frev-3D243308-26r1-3D243307-26r2-3D243308-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=iz65wfjCtApKdSi3ydn4nCeQ85iNSQJw7EbbFnizORs&s=JMZMPrBXAiag2PDAqNLeCu6JQSBW7PPmCL-TNWfZDf8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-platform-reg.ll?rev=243308&r1=243307&r2=243308&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/AArch64/arm64-platform-reg.ll (original)<br>
+++ llvm/trunk/test/CodeGen/AArch64/arm64-platform-reg.ll Mon Jul 27 14:18:47 2015<br>
@@ -1,4 +1,4 @@<br>
-; RUN: llc -mtriple=arm64-apple-ios -o - %s | FileCheck %s --check-prefix=CHECK-RESERVE-X18<br>
+; RUN: llc -mtriple=arm64-apple-ios -mattr=+reserve-x18 -o - %s | FileCheck %s --check-prefix=CHECK-RESERVE-X18<br>
 ; RUN: llc -mtriple=arm64-freebsd-gnu -mattr=+reserve-x18 -o - %s | FileCheck %s --check-prefix=CHECK-RESERVE-X18<br>
 ; RUN: llc -mtriple=arm64-linux-gnu -o - %s | FileCheck %s<br>
<br>
<br>
Modified: llvm/trunk/test/CodeGen/AArch64/arm64-stackmap.ll<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_llvm_trunk_test_CodeGen_AArch64_arm64-2Dstackmap.ll-3Frev-3D243308-26r1-3D243307-26r2-3D243308-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=mQ4LZ2PUj9hpadE3cDHZnIdEwhEBrbAstXeMaFoB9tg&m=iz65wfjCtApKdSi3ydn4nCeQ85iNSQJw7EbbFnizORs&s=LwIwkeyH84MHlApnn04Bt9ukOxWGh1Yx-uAqByGIMNw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-stackmap.ll?rev=243308&r1=243307&r2=243308&view=diff</a><br>
==============================================================================<br>
--- llvm/trunk/test/CodeGen/AArch64/arm64-stackmap.ll (original)<br>
+++ llvm/trunk/test/CodeGen/AArch64/arm64-stackmap.ll Mon Jul 27 14:18:47 2015<br>
@@ -1,5 +1,5 @@<br>
-; RUN: llc -mtriple=arm64-apple-darwin                             < %s | FileCheck %s<br>
-; RUN: llc -mtriple=arm64-apple-darwin -fast-isel -fast-isel-abort=1 < %s | FileCheck %s<br>
+; RUN: llc -mtriple=arm64-apple-darwin -mattr=+reserve-x18                             < %s | FileCheck %s<br>
+; RUN: llc -mtriple=arm64-apple-darwin -mattr=+reserve-x18 -fast-isel -fast-isel-abort=1 < %s | FileCheck %s<br>
 ;<br>
 ; Note: Print verbose stackmaps using -debug-only=stackmaps.<br>
<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div>