[all-commits] [llvm/llvm-project] 2e0ce8: [AMDGPU] Move kernarg preload logic to separate pass

Austin Kerbow via All-commits all-commits at lists.llvm.org
Thu May 1 15:00:02 PDT 2025


  Branch: refs/heads/users/kerbowa/preload-kernarg-pass
  Home:   https://github.com/llvm/llvm-project
  Commit: 2e0ce8ab8e9cb03203165c8974b57f07a64d5d2f
      https://github.com/llvm/llvm-project/commit/2e0ce8ab8e9cb03203165c8974b57f07a64d5d2f
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2025-05-01 (Thu, 01 May 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    A llvm/lib/Target/AMDGPU/AMDGPUPreloadKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/CMakeLists.txt
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.ptr.buffer.atomic.fadd-with-ret.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-IR-lowering.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
    M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs-IR-lowering.ll
    R llvm/test/CodeGen/AMDGPU/preload-kernargs-inreg-hints.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll

  Log Message:
  -----------
  [AMDGPU] Move kernarg preload logic to separate pass

Moves kernarg preload logic to its own module pass. Cloned function
declarations are removed when preloading hidden arguments. The inreg
attribute is now added in this pass instead of AMDGPUAttributor. The
rest of the logic is copied from AMDGPULowerKernelArguments which now
only check whether an arguments is marked inreg to avoid replacing
direct uses of preloaded arguments. This change requires test updates to
remove inreg from lit tests with kernels that don't actually want
preloading.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list