[all-commits] [llvm/llvm-project] 6e512f: [AMDGPU] Measure MFMA read hazards at each producer

Michael Halkenhäuser via All-commits all-commits at lists.llvm.org
Wed Sep 30 08:28:29 PDT 2026


  Branch: refs/heads/users/mhalk/fix/amdgpu-mfma-hazard-window-pairing
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e512f722e4a881efadd4809b0d61df78b409286
      https://github.com/llvm/llvm-project/commit/6e512f722e4a881efadd4809b0d61df78b409286
  Author: Michael Halkenhaeuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2026-09-30 (Wed, 30 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx942.mir

  Log Message:
  -----------
  [AMDGPU] Measure MFMA read hazards at each producer

Introduce more sophisticated traversal to avoid the following traps:
 - order-dependent traversal and discarding seen BBs despite shorter path
 - mis-matching distance and window of different producers

Record the best distance per BB instead of a visited flag and sweep the
arrivals in nondecreasing distance (bucket queue). This pairs producers
with their actual distance to a consumer in one go.

Fixed scenarios:
 - MFMA reading an MFMA result as srcA, srcB or srcC
 - VALU, memory or export instruction reading an MFMA result

AI-assisted.


  Commit: 2445b6dc3d6194f85b31b5fda3146db229e05531
      https://github.com/llvm/llvm-project/commit/2445b6dc3d6194f85b31b5fda3146db229e05531
  Author: Michael Halkenhaeuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2026-09-30 (Wed, 30 Sep 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx942.mir

  Log Message:
  -----------
  [AMDGPU] Measure MFMA overwrite hazards at each instruction

Apply previously established processing to:
 - VALU overwriting an MFMA result
 - VALU overwriting a register an MFMA took as srcC

AI-assisted.


  Commit: c421b9aec137001a26a73532be62f561ab2b80fa
      https://github.com/llvm/llvm-project/commit/c421b9aec137001a26a73532be62f561ab2b80fa
  Author: Michael Halkenhaeuser <MichaelGerald.Halkenhauser at amd.com>
  Date:   2026-09-30 (Wed, 30 Sep 2026)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx942.mir

  Log Message:
  -----------
  fixup! [AMDGPU] Measure MFMA read hazards at each producer

Reword the comments of the two tests where an exact srcC write must not
hide an earlier partial one: name the producers, give the nearer one's
window, and keep the farther one's window apart from the padding it
leaves. On gfx940+ the exact write now has a window of its own, since
two different MFMAs sharing an accumulator need wait states.

AI-assisted.


Compare: https://github.com/llvm/llvm-project/compare/ffb5c317edd5...c421b9aec137

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