Lines Matching defs:IRB
60 BuilderTy &IRB, ScalarEvolution &SE) {
90 Value *ObjSize = IRB.CreateSub(Size, Offset);
93 : IRB.CreateICmpULT(Size, Offset);
98 : IRB.CreateICmpULT(ObjSize, NeededSizeVal);
99 Value *Or = IRB.CreateOr(Cmp2, Cmp3);
102 Value *Cmp1 = IRB.CreateICmpSLT(Offset, ConstantInt::get(IntTy, 0));
103 Or = IRB.CreateOr(Cmp1, Or);
115 static void insertBoundsCheck(Value *Or, BuilderTy IRB, GetTrapBBT GetTrapBB) {
126 BasicBlock::iterator SplitI = IRB.GetInsertPoint();
135 BranchInst::Create(GetTrapBB(IRB), OldBB);
140 BranchInst::Create(GetTrapBB(IRB), Cont, Or, OldBB);
155 BuilderTy IRB(I.getParent(), BasicBlock::iterator(&I), TargetFolder(DL));
158 ObjSizeEval, IRB, SE);
161 DL, TLI, ObjSizeEval, IRB, SE);
164 DL, TLI, ObjSizeEval, IRB, SE);
167 TLI, ObjSizeEval, IRB, SE);
177 auto GetTrapBB = [&TrapBB](BuilderTy &IRB) {
181 Function *Fn = IRB.GetInsertBlock()->getParent();
184 auto DebugLoc = IRB.getCurrentDebugLocation();
185 IRBuilder<>::InsertPointGuard Guard(IRB);
187 IRB.SetInsertPoint(TrapBB);
190 CallInst *TrapCall = IRB.CreateCall(F, {});
194 IRB.CreateUnreachable();
202 BuilderTy IRB(Inst->getParent(), BasicBlock::iterator(Inst), TargetFolder(DL));
203 insertBoundsCheck(Entry.second, IRB, GetTrapBB);