reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
506 emitAtomicCmpXchgFailureSet(CGF, E, false, Dest, Ptr, Val1, Val2, 511 emitAtomicCmpXchgFailureSet(CGF, E, true, Dest, Ptr, Val1, Val2, 517 emitAtomicCmpXchgFailureSet(CGF, E, IsWeakC->getZExtValue(), Dest, Ptr, 522 CGF.createBasicBlock("cmpxchg.strong", CGF.CurFn); 522 CGF.createBasicBlock("cmpxchg.strong", CGF.CurFn); 523 llvm::BasicBlock *WeakBB = CGF.createBasicBlock("cmxchg.weak", CGF.CurFn); 523 llvm::BasicBlock *WeakBB = CGF.createBasicBlock("cmxchg.weak", CGF.CurFn); 525 CGF.createBasicBlock("cmpxchg.continue", CGF.CurFn); 525 CGF.createBasicBlock("cmpxchg.continue", CGF.CurFn); 527 llvm::SwitchInst *SI = CGF.Builder.CreateSwitch(IsWeak, WeakBB); 528 SI->addCase(CGF.Builder.getInt1(false), StrongBB); 530 CGF.Builder.SetInsertPoint(StrongBB); 531 emitAtomicCmpXchgFailureSet(CGF, E, false, Dest, Ptr, Val1, Val2, 533 CGF.Builder.CreateBr(ContBB); 535 CGF.Builder.SetInsertPoint(WeakBB); 536 emitAtomicCmpXchgFailureSet(CGF, E, true, Dest, Ptr, Val1, Val2, 538 CGF.Builder.CreateBr(ContBB); 540 CGF.Builder.SetInsertPoint(ContBB); 548 llvm::LoadInst *Load = CGF.Builder.CreateLoad(Ptr); 551 CGF.Builder.CreateStore(Load, Dest); 559 llvm::Value *LoadVal1 = CGF.Builder.CreateLoad(Val1); 560 llvm::StoreInst *Store = CGF.Builder.CreateStore(LoadVal1, Ptr); 638 llvm::Value *LoadVal1 = CGF.Builder.CreateLoad(Val1); 640 CGF.Builder.CreateAtomicRMW(Op, Ptr.getPointer(), LoadVal1, Order, Scope); 647 Result = CGF.Builder.CreateBinOp(PostOp, RMWI, LoadVal1); 649 Result = CGF.Builder.CreateNot(Result); 650 CGF.Builder.CreateStore(Result, Dest);