reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
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);