[llvm] [X86] Fix missing ByValTemporaries update in CopyViaTemp path for musttail calls (PR #190540)

Folkert de Vries via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 6 09:51:09 PDT 2026


================
@@ -2237,6 +2237,7 @@ X86TargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
         SDValue CopyChain =
             CreateCopyOfByValArgument(Src, Temp, Chain, Flags, DAG, dl);
         ByValCopyChains.push_back(CopyChain);
+        ByValTemporaries[ArgIdx] = Temp;
----------------
folkertdev wrote:

The fix here is consistent with the arm implementation that the x86 implementation is based on

https://github.com/llvm/llvm-project/blob/e7ac60c56b2310288921e05b977e1cd4796b115a/llvm/lib/Target/ARM/ARMISelLowering.cpp#L2193-L2201

That line must have gotten lost at some point...

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


More information about the llvm-commits mailing list