return static_cast<SynchronizationScope>(AtomicInfo.SynchScope);
}
- /// Return the atomic ordering requirements for this memory operation.
+ /// Return the atomic ordering requirements for this memory operation. For
+ /// cmpxchg atomic operations, return the atomic ordering requirements when
+ /// store occurs.
AtomicOrdering getOrdering() const {
return static_cast<AtomicOrdering>(AtomicInfo.Ordering);
}
- /// For cmpxchg atomic operations, return the atomic ordering requirements
- /// when store occurs.
- AtomicOrdering getSuccessOrdering() const {
- return getOrdering();
- }
-
/// For cmpxchg atomic operations, return the atomic ordering requirements
/// when store does not occur.
AtomicOrdering getFailureOrdering() const {
/// Return the synchronization scope for this memory operation.
SynchronizationScope getSynchScope() const { return MMO->getSynchScope(); }
- /// Return the atomic ordering requirements for this memory operation.
+ /// Return the atomic ordering requirements for this memory operation. For
+ /// cmpxchg atomic operations, return the atomic ordering requirements when
+ /// store occurs.
AtomicOrdering getOrdering() const { return MMO->getOrdering(); }
/// Return the type of the in-memory value.
Op == ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS;
}
- /// For cmpxchg atomic operations, return the atomic ordering requirements
- /// when store occurs.
- AtomicOrdering getSuccessOrdering() const {
- assert(isCompareAndSwap() && "Must be cmpxchg operation");
- return MMO->getSuccessOrdering();
- }
-
/// For cmpxchg atomic operations, return the atomic ordering requirements
/// when store does not occur.
AtomicOrdering getFailureOrdering() const {