[PATCH] D79630: AMDGPU: Start interpreting byval on kernel arguments

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 08:00:45 PDT 2020


arsenm created this revision.
arsenm added reviewers: rampitec, scott.linder, kzhuravl, kerbowa, yaxunl.
Herald added subscribers: hiraditya, t-tye, tpr, dstuttard, nhaehnle, wdng, jvesely.
Herald added a project: LLVM.

It doesn't make sense for kernel arguments to be passed on the stack,
but we can still interpret byval sensibly for constant and other
global-like address spaces.

      

These are treated identically to value aggregates placed in the
kernel argument list. A %struct.foo or %struct.foo addrspace(4)* byval
argument should produce the same offsets and argument metadata.

      

This handles all 3 kernel ABI implementations, and the two HSA
metadata emission paths.


https://reviews.llvm.org/D79630

Files:
  llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
  llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h
  llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
  llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h
  llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
  llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
  llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full-v3.ll
  llvm/test/CodeGen/AMDGPU/hsa-metadata-from-llvm-ir-full.ll
  llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
  llvm/test/CodeGen/AMDGPU/lower-kernargs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79630.262873.patch
Type: text/x-patch
Size: 109378 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200508/be35aaa0/attachment-0001.bin>


More information about the llvm-commits mailing list