diff options
| author | JF Bastien <jfb@google.com> | 2016-04-06 23:37:36 +0000 |
|---|---|---|
| committer | JF Bastien <jfb@google.com> | 2016-04-06 23:37:36 +0000 |
| commit | dd11ee7452beae10875e7690ea5dccda0ee52444 (patch) | |
| tree | 509c509389003c8b714a53d27cbbf83f95aeeedb /clang/lib/CodeGen/CGAtomic.cpp | |
| parent | 8f42e69b18cdefdbb6672ae940b20e02b094aadd (diff) | |
| download | bcm5719-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.cpp | 10 |
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. |

