[clang] [llvm] [AMDGPU] Introduce asyncmark/wait intrinsics (PR #180467)

via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 12 09:20:43 PST 2026


================
@@ -975,6 +999,14 @@ class WaitcntBrackets {
   // Store representative LDS DMA operations. The only useful info here is
   // alias info. One store is kept per unique AAInfo.
   SmallVector<const MachineInstr *> LDSDMAStores;
+
+  // State of all counters at each async mark encountered so far.
+  SmallVector<CounterValueArray> AsyncMarks;
+  static constexpr unsigned MaxAsyncMarks = 16;
----------------
vporpo wrote:

> AsyncMarks is a FIFO. Constantly enforcing MaxAsyncMarks as a data-structure limit would require removing elements from the front. 

If it's a FIFO, then please use a proper FIFO data structure. The logic of this pass is already very tricky to follow, so having to deal with a FIFO that is not explicitly defined as such is not great.

https://github.com/llvm/llvm-project/pull/180467


More information about the cfe-commits mailing list