reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/IR/Verifier.cpp
 3486   Assert(CXI.getSuccessOrdering() != AtomicOrdering::NotAtomic,
 3487          "cmpxchg instructions must be atomic.", &CXI);
 3488   Assert(CXI.getFailureOrdering() != AtomicOrdering::NotAtomic,
 3489          "cmpxchg instructions must be atomic.", &CXI);
 3490   Assert(CXI.getSuccessOrdering() != AtomicOrdering::Unordered,
 3491          "cmpxchg instructions cannot be unordered.", &CXI);
 3492   Assert(CXI.getFailureOrdering() != AtomicOrdering::Unordered,
 3493          "cmpxchg instructions cannot be unordered.", &CXI);
 3494   Assert(!isStrongerThan(CXI.getFailureOrdering(), CXI.getSuccessOrdering()),
 3494   Assert(!isStrongerThan(CXI.getFailureOrdering(), CXI.getSuccessOrdering()),
 3497          &CXI);
 3498   Assert(CXI.getFailureOrdering() != AtomicOrdering::Release &&
 3499              CXI.getFailureOrdering() != AtomicOrdering::AcquireRelease,
 3500          "cmpxchg failure ordering cannot include release semantics", &CXI);
 3502   PointerType *PTy = dyn_cast<PointerType>(CXI.getOperand(0)->getType());
 3503   Assert(PTy, "First cmpxchg operand must be a pointer.", &CXI);
 3506          "cmpxchg operand must have integer or pointer type", ElTy, &CXI);
 3507   checkAtomicMemAccessSize(ElTy, &CXI);
 3508   Assert(ElTy == CXI.getOperand(1)->getType(),
 3509          "Expected value type does not match pointer operand type!", &CXI,
 3511   Assert(ElTy == CXI.getOperand(2)->getType(),
 3512          "Stored value type does not match pointer operand type!", &CXI, ElTy);
 3513   visitInstruction(CXI);