[llvm] [AMDGPU][GlobalISel] Enable kernel argument preloading (PR #134655)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 25 04:28:21 PDT 2025
================
@@ -559,13 +618,29 @@ bool AMDGPUCallLowering::lowerFormalArgumentsKernel(
B.buildAddrSpaceCast(VRegs[i][0], PtrReg);
}
- } else {
- ArgInfo OrigArg(VRegs[i], Arg, i);
- const unsigned OrigArgIdx = i + AttributeList::FirstArgIndex;
- setArgFlags(OrigArg, OrigArgIdx, DL, F);
- lowerParameter(B, OrigArg, ArgOffset, Alignment);
+ i++;
+ continue;
+ }
+
+ auto &PreloadKernArgs = Info->getArgInfo().PreloadKernArgs;
+ auto PreloadKernArg =
+ Arg.hasInRegAttr() ? PreloadKernArgs.find(i) : PreloadKernArgs.end();
+ if (PreloadKernArg != PreloadKernArgs.end()) {
+ lowerPreloadedParameter(B, VRegs[i], ArgTy, ArgOffset, Alignment,
+ PreloadKernArg->getSecond().Regs);
+ ++i;
+ continue;
}
+ if (Arg.hasAttribute("amdgpu-hidden-argument"))
+ F.getContext().diagnose(DiagnosticInfoUnsupported(
----------------
arsenm wrote:
DiagnosticInfoUnsupported is probably the wrong error kind, but this matches the DAG
https://github.com/llvm/llvm-project/pull/134655
More information about the llvm-commits
mailing list