summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGAtomic.cpp
diff options
context:
space:
mode:
authorJF Bastien <jfb@google.com>2016-04-06 23:37:36 +0000
committerJF Bastien <jfb@google.com>2016-04-06 23:37:36 +0000
commitdd11ee7452beae10875e7690ea5dccda0ee52444 (patch)
tree509c509389003c8b714a53d27cbbf83f95aeeedb /clang/lib/CodeGen/CGAtomic.cpp
parent8f42e69b18cdefdbb6672ae940b20e02b094aadd (diff)
downloadbcm5719-llvm-dd11ee7452beae10875e7690ea5dccda0ee52444.tar.gz
bcm5719-llvm-dd11ee7452beae10875e7690ea5dccda0ee52444.zip
NFC: use AtomicOrdering isStrongerThan
Summary: As discussed in D18775. Reviewers: jyknight Differential Revision: http://reviews.llvm.org/D18840 llvm-svn: 265617
Diffstat (limited to 'clang/lib/CodeGen/CGAtomic.cpp')
-rw-r--r--clang/lib/CodeGen/CGAtomic.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CGAtomic.cpp b/clang/lib/CodeGen/CGAtomic.cpp
index 626f6a68180..6a1322424ba 100644
--- a/clang/lib/CodeGen/CGAtomic.cpp
+++ b/clang/lib/CodeGen/CGAtomic.cpp
@@ -447,8 +447,9 @@ static void emitAtomicCmpXchgFailureSet(CodeGenFunction &CGF, AtomicExpr *E,
FailureOrder = llvm::AtomicOrdering::SequentiallyConsistent;
break;
}
- if (FailureOrder >= SuccessOrder) {
- // Don't assert on undefined behaviour.
+ if (isStrongerThan(FailureOrder, SuccessOrder)) {
+ // Don't assert on undefined behavior "failure argument shall be no
+ // stronger than the success argument".
FailureOrder =
llvm::AtomicCmpXchgInst::getStrongestFailureOrdering(SuccessOrder);
}
@@ -1496,8 +1497,9 @@ AtomicInfo::EmitAtomicCompareExchangeLibcall(llvm::Value *ExpectedAddr,
std::pair<RValue, llvm::Value *> AtomicInfo::EmitAtomicCompareExchange(
RValue Expected, RValue Desired, llvm::AtomicOrdering Success,
llvm::AtomicOrdering Failure, bool IsWeak) {
- if (Failure >= Success)
- // Don't assert on undefined behavior.
+ if (isStrongerThan(Failure, Success))
+ // Don't assert on undefined behavior "failure argument shall be no stronger
+ // than the success argument".
Failure = llvm::AtomicCmpXchgInst::getStrongestFailureOrdering(Success);
// Check whether we should use a library call.
OpenPOWER on IntegriCloud