[llvm] [GlobalIsel] Add failure memory order to LegalityQuery (NFC) (PR #162284)

Mészáros Gergely via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 7 06:58:41 PDT 2025


================
@@ -115,14 +115,17 @@ struct LegalityQuery {
   struct MemDesc {
     LLT MemoryTy;
     uint64_t AlignInBits;
-    AtomicOrdering Ordering;
+    AtomicOrdering Ordering; //< For cmpxchg this is the success ordering.
+    AtomicOrdering FailureOrdering; //< For cmpxchg, otherwise NotAtomic.
 
     MemDesc() = default;
-    MemDesc(LLT MemoryTy, uint64_t AlignInBits, AtomicOrdering Ordering)
-        : MemoryTy(MemoryTy), AlignInBits(AlignInBits), Ordering(Ordering) {}
+    MemDesc(LLT MemoryTy, uint64_t AlignInBits, AtomicOrdering Ordering,
+            AtomicOrdering FailureOrdering)
----------------
Maetveis wrote:

I was thinking of adding a default value of `AtomicOrdering::NotAtomic` to `FailureOrdering`, but I decided that being explicit might be better.
I don't feel strongly about this though. Without it this might potentially require modifications in downstream forks.

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


More information about the llvm-commits mailing list