diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/IR/Instructions.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/IR/Instructions.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/IR/Instructions.cpp b/contrib/llvm-project/llvm/lib/IR/Instructions.cpp index 26171f537244..f5039eb5126c 100644 --- a/contrib/llvm-project/llvm/lib/IR/Instructions.cpp +++ b/contrib/llvm-project/llvm/lib/IR/Instructions.cpp @@ -1627,6 +1627,10 @@ AtomicCmpXchgInst::AtomicCmpXchgInst(Value *Ptr, Value *Cmp, Value *NewVal, void AtomicRMWInst::Init(BinOp Operation, Value *Ptr, Value *Val, Align Alignment, AtomicOrdering Ordering, SyncScope::ID SSID) { + assert(Ordering != AtomicOrdering::NotAtomic && + "atomicrmw instructions can only be atomic."); + assert(Ordering != AtomicOrdering::Unordered && + "atomicrmw instructions cannot be unordered."); Op<0>() = Ptr; Op<1>() = Val; setOperation(Operation); |