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

References

tools/clang/lib/CodeGen/CGAtomic.cpp
  440     emitAtomicCmpXchg(CGF, E, IsWeak, Dest, Ptr, Val1, Val2, Size, SuccessOrder,
  448   MonotonicBB = CGF.createBasicBlock("monotonic_fail", CGF.CurFn);
  448   MonotonicBB = CGF.createBasicBlock("monotonic_fail", CGF.CurFn);
  451     AcquireBB = CGF.createBasicBlock("acquire_fail", CGF.CurFn);
  451     AcquireBB = CGF.createBasicBlock("acquire_fail", CGF.CurFn);
  453     SeqCstBB = CGF.createBasicBlock("seqcst_fail", CGF.CurFn);
  453     SeqCstBB = CGF.createBasicBlock("seqcst_fail", CGF.CurFn);
  455   llvm::BasicBlock *ContBB = CGF.createBasicBlock("atomic.continue", CGF.CurFn);
  455   llvm::BasicBlock *ContBB = CGF.createBasicBlock("atomic.continue", CGF.CurFn);
  457   llvm::SwitchInst *SI = CGF.Builder.CreateSwitch(FailureOrderVal, MonotonicBB);
  464   CGF.Builder.SetInsertPoint(MonotonicBB);
  465   emitAtomicCmpXchg(CGF, E, IsWeak, Dest, Ptr, Val1, Val2,
  467   CGF.Builder.CreateBr(ContBB);
  470     CGF.Builder.SetInsertPoint(AcquireBB);
  471     emitAtomicCmpXchg(CGF, E, IsWeak, Dest, Ptr, Val1, Val2,
  473     CGF.Builder.CreateBr(ContBB);
  474     SI->addCase(CGF.Builder.getInt32((int)llvm::AtomicOrderingCABI::consume),
  476     SI->addCase(CGF.Builder.getInt32((int)llvm::AtomicOrderingCABI::acquire),
  480     CGF.Builder.SetInsertPoint(SeqCstBB);
  481     emitAtomicCmpXchg(CGF, E, IsWeak, Dest, Ptr, Val1, Val2, Size, SuccessOrder,
  483     CGF.Builder.CreateBr(ContBB);
  484     SI->addCase(CGF.Builder.getInt32((int)llvm::AtomicOrderingCABI::seq_cst),
  488   CGF.Builder.SetInsertPoint(ContBB);