[all-commits] [llvm/llvm-project] daea6b: [AMDGPU] Add GFX12 test coverage for vmcnt flushin...

Jay Foad via All-commits all-commits at lists.llvm.org
Sun Sep 1 01:07:03 PDT 2024


  Branch: refs/heads/release/19.x
  Home:   https://github.com/llvm/llvm-project
  Commit: daea6b9c40a1ee9d44f5658c182094147bb78340
      https://github.com/llvm/llvm-project/commit/daea6b9c40a1ee9d44f5658c182094147bb78340
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-01 (Sun, 01 Sep 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir

  Log Message:
  -----------
  [AMDGPU] Add GFX12 test coverage for vmcnt flushing in loop headers (#105548)

(cherry picked from commit 61194617ad7862f144e0f6db34175553e8c34763)


  Commit: 441fb41cb487d286977b7e1cdabc3efe4c2010cf
      https://github.com/llvm/llvm-project/commit/441fb41cb487d286977b7e1cdabc3efe4c2010cf
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-01 (Sun, 01 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.format.v3f16.ll
    M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/spill-csr-frame-ptr-reg-copy.ll
    M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir

  Log Message:
  -----------
  [AMDGPU] GFX12 VMEM loads can write VGPR results out of order (#105549)

Fix SIInsertWaitcnts to account for this by adding extra waits to avoid
WAW dependencies.

(cherry picked from commit 5506831f7bc8dc04ebe77f4d26940007bfb4ab39)


  Commit: 09cca6b1897d501020c02769f9a937401f13e37a
      https://github.com/llvm/llvm-project/commit/09cca6b1897d501020c02769f9a937401f13e37a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-09-01 (Sun, 01 Sep 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/test/CodeGen/AMDGPU/waitcnt-vmcnt-loop.mir

  Log Message:
  -----------
  [AMDGPU] Remove one case of vmcnt loop header flushing for GFX12 (#105550)

When a loop contains a VMEM load whose result is only used outside the
loop, do not bother to flush vmcnt in the loop head on GFX12. A wait for
vmcnt will be required inside the loop anyway, because VMEM instructions
can write their VGPR results out of order.

(cherry picked from commit fa2dccb377d0b712223efe5b62e5fc633580a9e6)


Compare: https://github.com/llvm/llvm-project/compare/3f768dd6806a...09cca6b1897d

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