diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-11 17:47:01 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-11 17:47:01 +0800 |
| commit | f5ebe810b5197dbb268db890c5bfec016f447101 (patch) | |
| tree | 9a88ddf801678926e671bdebe779ddba4f6e6778 /backend/lib/CodeGen/MachineMemOperand.cpp | |
| parent | 4fe5ee649927d54d6fb74904d7b97ad0f63fd587 (diff) | |
| download | rcc-project-f5ebe810b5197dbb268db890c5bfec016f447101.tar.gz rcc-project-f5ebe810b5197dbb268db890c5bfec016f447101.tar.xz | |
[MIR] Parse one-ordering compare-exchange MMOs
Diffstat (limited to 'backend/lib/CodeGen/MachineMemOperand.cpp')
| -rw-r--r-- | backend/lib/CodeGen/MachineMemOperand.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/backend/lib/CodeGen/MachineMemOperand.cpp b/backend/lib/CodeGen/MachineMemOperand.cpp index 5f126fd..cb90e61 100644 --- a/backend/lib/CodeGen/MachineMemOperand.cpp +++ b/backend/lib/CodeGen/MachineMemOperand.cpp @@ -37,13 +37,15 @@ namespace { } [[nodiscard]] bool isValidCompareExchangeFailureOrdering(AtomicOrdering Ordering) noexcept { - return Ordering == AtomicOrdering::Monotonic || Ordering == AtomicOrdering::Acquire || - Ordering == AtomicOrdering::SequentiallyConsistent; + return Ordering == AtomicOrdering::NotAtomic || Ordering == AtomicOrdering::Monotonic || + Ordering == AtomicOrdering::Acquire || Ordering == AtomicOrdering::SequentiallyConsistent; } [[nodiscard]] bool isFailureOrderingNoStrongerThanSuccess(AtomicOrdering Failure, AtomicOrdering Success) noexcept { switch (Failure) { + case AtomicOrdering::NotAtomic: + return true; case AtomicOrdering::Monotonic: return isValidAtomicReadModifyWriteOrdering(Success); case AtomicOrdering::Acquire: @@ -51,7 +53,6 @@ namespace { Success == AtomicOrdering::SequentiallyConsistent; case AtomicOrdering::SequentiallyConsistent: return Success == AtomicOrdering::SequentiallyConsistent; - case AtomicOrdering::NotAtomic: case AtomicOrdering::Unordered: case AtomicOrdering::Release: case AtomicOrdering::AcquireRelease: |
