[llvm] [AMDGPU] Schedule independent instructions between s_barrier_signal and s_barrier_wait (PR #172057)
Nicolai Hähnle via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 14 16:15:41 PST 2025
================
@@ -6,24 +6,34 @@
//
//===----------------------------------------------------------------------===//
//
-/// \file This file contains a DAG scheduling mutation to add latency to
-/// barrier edges between ATOMIC_FENCE instructions and preceding
-/// memory accesses potentially affected by the fence.
-/// This encourages the scheduling of more instructions before
-/// ATOMIC_FENCE instructions. ATOMIC_FENCE instructions may
-/// introduce wait counting or indicate an impending S_BARRIER
-/// wait. Having more instructions in-flight across these
-/// constructs improves latency hiding.
+/// \file This file contains a DAG scheduling mutation to add latency to:
+/// 1. Barrier edges between ATOMIC_FENCE instructions and preceding
+/// memory accesses potentially affected by the fence.
+/// This encourages the scheduling of more instructions before
+/// ATOMIC_FENCE instructions. ATOMIC_FENCE instructions may
+/// introduce wait counting or indicate an impending S_BARRIER
+/// wait. Having more instructions in-flight across these
+/// constructs improves latency hiding.
----------------
nhaehnle wrote:
This is pre-existing and makes sense, but it raises something that it would be good to follow up on: we get an ATOMIC_FENCE for explicit LLVM IT `fence` instructions, but `atomicrmw` and `cmpxchg` with release ordering have the same waits...
https://github.com/llvm/llvm-project/pull/172057
More information about the llvm-commits
mailing list