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

Austin Kerbow via All-commits all-commits at lists.llvm.org
Sun Mar 9 21:33:41 PDT 2025


  Branch: refs/heads/users/kerbowa/preload-kernarg-pass
  Home:   https://github.com/llvm/llvm-project
  Commit: a23a8e4575b54dd6a4120fe1ecec3b5cb416ab47
      https://github.com/llvm/llvm-project/commit/a23a8e4575b54dd6a4120fe1ecec3b5cb416ab47
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2025-03-09 (Sun, 09 Mar 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-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