[llvm] [AMDGPU][GlobalISel] Enable kernel argument preloading (PR #134655)
Austin Kerbow via llvm-commits
llvm-commits at lists.llvm.org
Mon Apr 7 08:54:47 PDT 2025
================
@@ -545,11 +546,47 @@ bool AMDGPUCallLowering::lowerFormalArgumentsKernel(
Align Alignment = commonAlignment(KernArgBaseAlign, ArgOffset);
- if (IsByRef) {
+ if (Arg.hasInRegAttr() && IsEntryFunc && Subtarget->hasKernargPreload()) {
+ unsigned NumAllocSGPRs = alignTo(DL.getTypeSizeInBits(ArgTy), 32) / 32;
+
+ unsigned Padding = ArgOffset - BaseOffset;
+ unsigned PaddingSGPRs = alignTo(Padding, 4) / 4;
+
+ // Preload this argument.
+ const TargetRegisterClass *RC =
----------------
kerbowa wrote:
Need to handle sub-dword arguments.
https://github.com/llvm/llvm-project/pull/134655
More information about the llvm-commits
mailing list