[PATCH] D158579: [AMDGPU] Add DAG ISel support for preloaded kernel arguments

Austin Kerbow via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 22 23:08:40 PDT 2023


kerbowa created this revision.
kerbowa added reviewers: arsenm, rampitec.
Herald added subscribers: kosarev, foad, hiraditya, tpr, dstuttard, yaxunl, jvesely, kzhuravl, emaste.
Herald added a reviewer: jhenderson.
Herald added a reviewer: MaskRay.
Herald added a project: All.
kerbowa requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

This patch adds the DAG isel changes for kernel argument preloading.
These changes are not usable with older firmware but subsequent patches
in the series will make the codegen backwards compatible. This patch
should only be submitted alongside that subsequent patch.

Preloading here begins from the start of the kernel arguments until the
amount of arguments indicated by the CL flag
amdgpu-kernarg-preload-count.

Aggregates and arguments passed by-ref are not supported.

Special care for the alignment of the kernarg segment is needed as well
as consideration of the alignment of addressable SGPR tuples when we
cannot directly use misaligned large tuples that the arguments are
loaded to.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D158579

Files:
  llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
  llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.cpp
  llvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
  llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
  llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
  llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
  llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
  llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
  llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  llvm/lib/Target/AMDGPU/SIISelLowering.h
  llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
  llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
  llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
  llvm/test/CodeGen/AMDGPU/preload-kernal-args-metadata.ll
  llvm/test/CodeGen/AMDGPU/preload-kernal-args.ll
  llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
  llvm/test/MC/AMDGPU/hsa-gfx10-v3.s
  llvm/test/MC/AMDGPU/hsa-gfx11-v3.s
  llvm/test/MC/AMDGPU/hsa-gfx90a-v3.s
  llvm/test/MC/AMDGPU/hsa-gfx940-v3.s
  llvm/test/MC/AMDGPU/hsa-v3.s
  llvm/test/MC/AMDGPU/hsa-v4.s
  llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx90a.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-sgpr.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-vgpr.s
  llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-zeroed-gfx10.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158579.552593.patch
Type: text/x-patch
Size: 159870 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230823/f2e50f21/attachment-0001.bin>


More information about the llvm-commits mailing list