Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Builder

87         VoidPtrAddr = CGF.Builder.CreateConstGEP1_64(
89 auto Addr = CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
91 CGF.Builder.getIntNTy(AtomicSizeInBits)->getPointerTo(),
204 addr = CGF.Builder.CreateStructGEP(addr, 0, CharUnits());
316 return CGF.Builder.CreatePointerBitCastOrAddrSpaceCast(
369 CGF.Builder.CreateMemSet(
383 llvm::Value *Expected = CGF.Builder.CreateLoad(Val1);
384 llvm::Value *Desired = CGF.Builder.CreateLoad(Val2);
386 llvm::AtomicCmpXchgInst *Pair = CGF.Builder.CreateAtomicCmpXchg(
393 llvm::Value *Old = CGF.Builder.CreateExtractValue(Pair, 0);
394 llvm::Value *Cmp = CGF.Builder
408 CGF.Builder.CreateCondBr(Cmp, ContinueBB, StoreExpectedBB);
410 CGF.Builder.SetInsertPoint(StoreExpectedBB);
412 CGF.Builder.CreateStore(Old, Val1);
414 CGF.Builder.CreateBr(ContinueBB);
416 CGF.Builder.SetInsertPoint(ContinueBB);
466 llvm::SwitchInst *SI = CGF.Builder.CreateSwitch(FailureOrderVal, MonotonicBB);
473 CGF.Builder.SetInsertPoint(MonotonicBB);
476 CGF.Builder.CreateBr(ContBB);
479 CGF.Builder.SetInsertPoint(AcquireBB);
482 CGF.Builder.CreateBr(ContBB);
483 SI->addCase(CGF.Builder.getInt32(AtomicExpr::AO_ABI_memory_order_consume),
485 SI->addCase(CGF.Builder.getInt32(AtomicExpr::AO_ABI_memory_order_acquire),
489 CGF.Builder.SetInsertPoint(SeqCstBB);
492 CGF.Builder.CreateBr(ContBB);
493 SI->addCase(CGF.Builder.getInt32(AtomicExpr::AO_ABI_memory_order_seq_cst),
497 CGF.Builder.SetInsertPoint(ContBB);
532 llvm::SwitchInst *SI = CGF.Builder.CreateSwitch(IsWeak, WeakBB);
533 SI->addCase(CGF.Builder.getInt1(false), StrongBB);
535 CGF.Builder.SetInsertPoint(StrongBB);
538 CGF.Builder.CreateBr(ContBB);
540 CGF.Builder.SetInsertPoint(WeakBB);
543 CGF.Builder.CreateBr(ContBB);
545 CGF.Builder.SetInsertPoint(ContBB);
552 llvm::LoadInst *Load = CGF.Builder.CreateLoad(Ptr);
555 CGF.Builder.CreateStore(Load, Dest);
562 llvm::Value *LoadVal1 = CGF.Builder.CreateLoad(Val1);
563 llvm::StoreInst *Store = CGF.Builder.CreateStore(LoadVal1, Ptr);
623 llvm::Value *LoadVal1 = CGF.Builder.CreateLoad(Val1);
625 CGF.Builder.CreateAtomicRMW(Op, Ptr.getPointer(), LoadVal1, Order);
632 Result = CGF.Builder.CreateBinOp(PostOp, RMWI, LoadVal1);
634 Result = CGF.Builder.CreateNot(Result);
635 CGF.Builder.CreateStore(Result, Dest);
660 Address Ptr = Address(CGF.Builder.CreateBitCast(Val, IPtrTy), Align);
746 Val1Scalar = Builder.CreateMul(Val1Scalar, CGM.getSize(PointeeIncAmt));
1014 ResVal = Builder.CreateBinOp(PostOp, ResVal, LoadVal1);
1017 ResVal = Builder.CreateNot(ResVal);
1019 Builder.CreateStore(
1021 Builder.CreateBitCast(Dest, ResVal->getType()->getPointerTo()));
1028 Builder.CreateBitCast(Dest, ConvertTypeForMem(RValTy)->getPointerTo()),
1078 Builder.CreateBitCast(Dest, ConvertTypeForMem(RValTy)->getPointerTo()),
1102 Order = Builder.CreateIntCast(Order, Builder.getInt32Ty(), false);
1103 llvm::SwitchInst *SI = Builder.CreateSwitch(Order, MonotonicBB);
1106 Builder.SetInsertPoint(MonotonicBB);
1109 Builder.CreateBr(ContBB);
1111 Builder.SetInsertPoint(AcquireBB);
1114 Builder.CreateBr(ContBB);
1115 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_consume),
1117 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_acquire),
1121 Builder.SetInsertPoint(ReleaseBB);
1124 Builder.CreateBr(ContBB);
1125 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_release),
1129 Builder.SetInsertPoint(AcqRelBB);
1132 Builder.CreateBr(ContBB);
1133 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_acq_rel),
1136 Builder.SetInsertPoint(SeqCstBB);
1139 Builder.CreateBr(ContBB);
1140 SI->addCase(Builder.getInt32(AtomicExpr::AO_ABI_memory_order_seq_cst),
1144 Builder.SetInsertPoint(ContBB);
1150 Builder.CreateBitCast(Dest, ConvertTypeForMem(RValTy)->getPointerTo()),
1159 return CGF.Builder.CreateBitCast(addr, ty->getPointerTo(addrspace));
1167 CGF.Builder.CreateMemCpy(Tmp, Addr,
1185 addr = CGF.Builder.CreateStructGEP(addr, 0, CharUnits());
1193 return RValue::get(CGF.Builder.CreateLoad(addr));
1226 return RValue::get(CGF.Builder.CreateIntToPtr(IntVal, ValTy));
1228 return RValue::get(CGF.Builder.CreateBitCast(IntVal, ValTy));
1245 CGF.Builder.CreateStore(IntVal, CastTemp)
1270 llvm::LoadInst *Load = CGF.Builder.CreateLoad(Addr, "atomic-load");
1418 return CGF.Builder.CreatePtrToInt(Value, InputIntTy);
1420 return CGF.Builder.CreateBitCast(Value, InputIntTy);
1429 return CGF.Builder.CreateLoad(Addr);
1437 auto *Inst = CGF.Builder.CreateAtomicCmpXchg(Addr.getPointer(),
1445 auto *PreviousVal = CGF.Builder.CreateExtractValue(Inst, /*Idxs=*/0);
1446 auto *SuccessFailureVal = CGF.Builder.CreateExtractValue(Inst, /*Idxs=*/1);
1578 auto *OldVal = CGF.Builder.CreateLoad(ExpectedAddr);
1579 CGF.Builder.CreateStore(OldVal, DesiredAddr);
1589 CGF.Builder.CreateCondBr(Res, ExitBB, ContBB);
1603 auto *CurBB = CGF.Builder.GetInsertBlock();
1605 llvm::PHINode *PHI = CGF.Builder.CreatePHI(OldVal->getType(),
1612 CGF.Builder.CreateStore(PHI, NewAtomicIntAddr);
1617 auto *DesiredVal = CGF.Builder.CreateLoad(NewAtomicIntAddr);
1620 PHI->addIncoming(Res.first, CGF.Builder.GetInsertBlock());
1621 CGF.Builder.CreateCondBr(Res.second, ExitBB, ContBB);
1665 auto *OldVal = CGF.Builder.CreateLoad(ExpectedAddr);
1666 CGF.Builder.CreateStore(OldVal, DesiredAddr);
1673 CGF.Builder.CreateCondBr(Res, ExitBB, ContBB);
1686 auto *CurBB = CGF.Builder.GetInsertBlock();
1688 llvm::PHINode *PHI = CGF.Builder.CreatePHI(OldVal->getType(),
1695 CGF.Builder.CreateStore(PHI, NewAtomicIntAddr);
1698 auto *DesiredVal = CGF.Builder.CreateLoad(NewAtomicIntAddr);
1701 PHI->addIncoming(Res.first, CGF.Builder.GetInsertBlock());
1702 CGF.Builder.CreateCondBr(Res.second, ExitBB, ContBB);
1788 intValue = Builder.CreateIntCast(
1790 llvm::StoreInst *store = Builder.CreateStore(intValue, addr);