[clang] [llvm] [BPF] Support Stack Arguments (PR #189060)

via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 14 09:07:13 PDT 2026


================
@@ -504,8 +539,9 @@ SDValue BPFTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
 
   unsigned NumBytes = CCInfo.getStackSize();
 
-  if (Outs.size() > MaxArgs)
-    fail(CLI.DL, DAG, "too many arguments", Callee);
+  if (hasSplitArg(ArgLocs, [&](size_t I) { return Outs[I].OrigArgIndex; }))
----------------
4ast wrote:

> I guess we can support this feature (16-byte cross register and stack) in the compiler. Currently verifier does not support 16-byte arguments and we can figure out how to do it in verifier and jit.

Yes. Let's do full support in LLVM though verifier won't understand it yet. As long as it matches x86/arm64 we're fine picking the same for bpf psABI.

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


More information about the cfe-commits mailing list