[PATCH] D62344: [AArch64] Preserve X8 for thunks ending in variadic musttail calls
Reid Kleckner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu May 23 18:28:15 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL361585: [AArch64] Preserve X8 for thunks ending in variadic musttail calls (authored by rnk, committed by ).
Changed prior to commit:
https://reviews.llvm.org/D62344?vs=201059&id=201111#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62344/new/
https://reviews.llvm.org/D62344
Files:
llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/trunk/test/CodeGen/AArch64/vararg-tallcall.ll
Index: llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp
===================================================================
--- llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ llvm/trunk/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -3207,6 +3207,12 @@
FuncInfo->getForwardedMustTailRegParms();
CCInfo.analyzeMustTailForwardedRegisters(Forwards, RegParmTypes,
CC_AArch64_AAPCS);
+
+ // Conservatively forward X8, since it might be used for aggregate return.
+ if (!CCInfo.isAllocated(AArch64::X8)) {
+ unsigned X8VReg = MF.addLiveIn(AArch64::X8, &AArch64::GPR64RegClass);
+ Forwards.push_back(ForwardedRegister(X8VReg, AArch64::X8, MVT::i64));
+ }
}
}
Index: llvm/trunk/test/CodeGen/AArch64/vararg-tallcall.ll
===================================================================
--- llvm/trunk/test/CodeGen/AArch64/vararg-tallcall.ll
+++ llvm/trunk/test/CodeGen/AArch64/vararg-tallcall.ll
@@ -28,7 +28,7 @@
attributes #1 = { noinline optnone "thunk" }
; CHECK: mov v16.16b, v0.16b
-; CHECK: ldr x8, [x0]
-; CHECK: ldr x8, [x8]
+; CHECK: ldr x9, [x0]
+; CHECK: ldr x9, [x9]
; CHECK: mov v0.16b, v16.16b
-; CHECK: br x8
+; CHECK: br x9
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62344.201111.patch
Type: text/x-patch
Size: 1321 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190524/70fc9b42/attachment.bin>
More information about the llvm-commits
mailing list