[llvm] [AMDGPU] Model ordered XDL writes in expert scheduling (PR #218326)

Jay Foad via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 26 06:34:43 PDT 2026


================
@@ -1519,9 +1572,21 @@ void WaitcntBrackets::applyWaitcnt(AMDGPU::InstCounterType T, unsigned Count) {
   if (Count >= UB)
     return;
   if (Count != 0) {
-    if (counterOutOfOrder(T))
-      return;
-    setScoreLB(T, std::max(getScoreLB(T), UB - Count));
+    const unsigned NewLB = std::max(getScoreLB(T), UB - Count);
+    if (counterOutOfOrder(T)) {
+      if (T != AMDGPU::VA_VDST_RD && T != AMDGPU::VA_VDST_WR)
+        return;
+
+      // VA_VDST_RD and VA_VDST_WR share a score range. Keep unresolved
+      // dependencies above the new lower bound when either side is out of
+      // order.
----------------
jayfoad wrote:

I don't understand this part. It also looks expensive, since it iterates over all of VMem.

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


More information about the llvm-commits mailing list