<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>