[PATCH] D145524: [AMDGPU] Skip buffer_wbl2 before atomic fence acquire

Tony Tye via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 7 15:23:15 PST 2023


t-tye requested changes to this revision.
t-tye added inline comments.
This revision now requires changes to proceed.


================
Comment at: llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp:2212
   if (MOI.isAtomic()) {
-    if (MOI.getOrdering() == AtomicOrdering::Acquire ||
-        MOI.getOrdering() == AtomicOrdering::Release ||
+    if (MOI.getOrdering() == AtomicOrdering::Acquire)
+      Changed |= CC->insertWait(MI, MOI.getScope(), MOI.getOrderingAddrSpace(),
----------------
Why is this waitcnt being added, I do not believe the memory model requires this. An acquire does not require previous memory operations to be complete. It only requires that the location being loaded has completed, followed by invalidating the caches consistent with the scope.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D145524/new/

https://reviews.llvm.org/D145524



More information about the llvm-commits mailing list