[llvm] [WebAssembly] Disallow tail calls with byval arguments (PR #125142)

Derek Schuff via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 30 16:50:32 PST 2025


================
@@ -1211,6 +1211,13 @@ WebAssemblyTargetLowering::LowerCall(CallLoweringInfo &CLI,
         }
       }
     }
+    // Similarly, we cannot tail call with byval arguments.
+    for (unsigned I = 0; I < CLI.Outs.size(); ++I) {
+      const ISD::OutputArg &Out = CLI.Outs[I];
+      if (Out.Flags.isByVal() && Out.Flags.getByValSize() != 0)
+        NoTail(
+            "WebAssembly does not support tail calling with stack arguments");
----------------
dschuff wrote:

This message can probably more specifically mention byval arguments.

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


More information about the llvm-commits mailing list