Lines Matching defs:IRB
76 IRBuilder<> IRB(BasicBlock::Create(C, "entry", &F));
79 Type *PtrTy = IRB.getPtrTy(AMDGPUAS::GLOBAL_ADDRESS);
105 auto *CallBackTy = FunctionType::get(IRB.getVoidTy(), {});
113 auto *EndPtr = IRB.CreatePtrToInt(End, Int64Ty);
114 auto *BeginPtr = IRB.CreatePtrToInt(Begin, Int64Ty);
115 auto *ByteSize = IRB.CreateSub(EndPtr, BeginPtr, "", /*HasNUW=*/true,
117 auto *Size = IRB.CreateAShr(ByteSize, ConstantInt::get(Int64Ty, 3), "",
120 IRB.CreateSub(Size, ConstantInt::get(Int64Ty, 1), "", /*HasNUW=*/true,
122 Start = IRB.CreateInBoundsGEP(
128 IRB.CreateCondBr(
129 IRB.CreateCmp(IsCtor ? ICmpInst::ICMP_NE : ICmpInst::ICMP_UGE, Start,
132 IRB.SetInsertPoint(LoopBB);
133 auto *CallBackPHI = IRB.CreatePHI(PtrTy, 2, "ptr");
134 auto *CallBack = IRB.CreateLoad(F.getType(), CallBackPHI, "callback");
135 IRB.CreateCall(CallBackTy, CallBack);
137 IRB.CreateConstGEP1_64(PtrTy, CallBackPHI, IsCtor ? 1 : -1, "next");
138 auto *EndCmp = IRB.CreateCmp(IsCtor ? ICmpInst::ICMP_EQ : ICmpInst::ICMP_ULT,
142 IRB.CreateCondBr(EndCmp, ExitBB, LoopBB);
143 IRB.SetInsertPoint(ExitBB);
144 IRB.CreateRetVoid();