[llvm] [win][x64] Guarantee shape of tail call to a control flow guard function (PR #174108)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 14 15:20:21 PST 2026


================
@@ -2552,7 +2569,9 @@ X86TargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
     // should be computed from returns not tail calls.  Consider a void
     // function making a tail call to a function returning int.
     MF.getFrameInfo().setHasTailCall();
-    SDValue Ret = DAG.getNode(X86ISD::TC_RETURN, dl, MVT::Other, Ops);
+    auto Opcode =
+        IsCFGuardCall ? X86ISD::TC_RETURN_GLOBALADDR : X86ISD::TC_RETURN;
----------------
arsenm wrote:

Can you instead assign the opcode without the intermediate IsCFGuardCall?

https://github.com/llvm/llvm-project/pull/174108


More information about the llvm-commits mailing list