[all-commits] [llvm/llvm-project] f50091: [AMDGPU][SIInsertWaitCnts] Remove VMemTypes (#206440)

Pierre van Houtryve via All-commits all-commits at lists.llvm.org
Wed Jul 1 01:49:34 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f5009119ced0973a0f0ffcf068c64e9405699d21
      https://github.com/llvm/llvm-project/commit/f5009119ced0973a0f0ffcf068c64e9405699d21
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2026-07-01 (Wed, 01 Jul 2026)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUHWEvents.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHWEvents.h
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU][SIInsertWaitCnts] Remove VMemTypes (#206440)

This can be considered a RFC. I'd personally like to get rid of
VMEMTypes but I don't know if anyone feels strongly that they should be kept.

My motivation for removing VMemTypes is simple: They are just a repeat
of VMEM events, just under a different name, and messier (defined as a
basic enum but actually stored as a bitmask later). It's just confusing.

This patch eliminates the need for them by:

- Adding a new entrypoint in AMDGPUHWEvents to get the basic set of
VMEM events issued by a VMEM Instruction.
- Set BVH/SAMPLER events irrespective of whether the HW can track them.
These events exist anyway, it should be up to InsertWaitCnt to deal with
them
properly (which is easy, only `counterOutOfOrder` needed work).
- Tracking an additional set of per-VGPR "PendingEvents" which is
set using the "basic set of VMEM events" and cleared as needed.

I believe this is worth it because it streamlines the implementation
of `SIInsertWaitCnts` and eliminates a bit of code duplication
along the way.



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