reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
277 Builder.SetInsertPoint(IP); 282 void clearInsertPoint() { Builder.ClearInsertionPoint(); } 286 Builder.SetCurrentDebugLocation(std::move(L)); 291 return Builder.getCurrentDebugLocation();lib/Analysis/ScalarEvolutionExpander.cpp
49 BasicBlock::iterator BIP = Builder.GetInsertPoint(); 162 BasicBlock::iterator IP = findInsertPointAfter(I, Builder.GetInsertBlock()); 179 BasicBlock::iterator BlockBegin = Builder.GetInsertBlock()->begin(); 181 BasicBlock::iterator IP = Builder.GetInsertPoint(); 212 DebugLoc Loc = Builder.GetInsertPoint()->getDebugLoc(); 213 SCEVInsertPointGuard Guard(Builder, this); 217 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { 223 Builder.SetInsertPoint(Preheader->getTerminator()); 228 Instruction *BO = cast<Instruction>(Builder.CreateBinOp(Opcode, LHS, RHS)); 512 SE.DT.dominates(cast<Instruction>(V), &*Builder.GetInsertPoint())); 525 BasicBlock::iterator BlockBegin = Builder.GetInsertBlock()->begin(); 527 BasicBlock::iterator IP = Builder.GetInsertPoint(); 543 SCEVInsertPointGuard Guard(Builder, this); 546 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { 552 Builder.SetInsertPoint(Preheader->getTerminator()); 556 Value *GEP = Builder.CreateGEP(Builder.getInt8Ty(), V, Idx, "uglygep"); 556 Value *GEP = Builder.CreateGEP(Builder.getInt8Ty(), V, Idx, "uglygep"); 563 SCEVInsertPointGuard Guard(Builder, this); 566 while (const Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock())) { 579 Builder.SetInsertPoint(Preheader->getTerminator()); 588 Value *GEP = Builder.CreateGEP(OriginalElTy, Casted, GepIndices, "scevgep"); 991 if (Builder.GetInsertPoint() == It) 992 Builder.SetInsertPoint(&*NewInsertPt); 1066 IncV = Builder.CreateBitCast(IncV, PN->getType()); 1071 Builder.CreateSub(PN, StepV, Twine(IVName) + ".iv.next") : 1072 Builder.CreateAdd(PN, StepV, Twine(IVName) + ".iv.next"); 1250 SCEVInsertPointGuard Guard(Builder, this); 1294 Builder.SetInsertPoint(Header, Header->begin()); 1296 PHINode *PN = Builder.CreatePHI(ExpandTy, std::distance(HPB, HPE), 1315 Builder.SetInsertPoint(InsertPos); 1412 &*Builder.GetInsertPoint())) { 1429 SCEVInsertPointGuard Guard(Builder, this); 1445 Result = Builder.CreateTrunc(Result, TruncTy); 1450 Result = Builder.CreateSub(expandCodeFor(Normalized->getStart(), TruncTy), 1460 Result = Builder.CreateMul(Result, 1476 Result = Builder.CreateAdd(Result, 1519 findInsertPointAfter(cast<Instruction>(V), Builder.GetInsertBlock()); 1638 Value *I = Builder.CreateTrunc(V, Ty); 1647 Value *I = Builder.CreateZExt(V, Ty); 1656 Value *I = Builder.CreateSExt(V, Ty); 1673 Value *ICmp = Builder.CreateICmpSGT(LHS, RHS); 1675 Value *Sel = Builder.CreateSelect(ICmp, LHS, RHS, "smax"); 1698 Value *ICmp = Builder.CreateICmpUGT(LHS, RHS); 1700 Value *Sel = Builder.CreateSelect(ICmp, LHS, RHS, "umax"); 1723 Value *ICmp = Builder.CreateICmpSLT(LHS, RHS); 1725 Value *Sel = Builder.CreateSelect(ICmp, LHS, RHS, "smin"); 1748 Value *ICmp = Builder.CreateICmpULT(LHS, RHS); 1750 Value *Sel = Builder.CreateSelect(ICmp, LHS, RHS, "umin"); 1816 Instruction *InsertPt = &*Builder.GetInsertPoint(); 1836 for (Loop *L = SE.LI.getLoopFor(Builder.GetInsertBlock());; 1853 while (InsertPt->getIterator() != Builder.GetInsertPoint() && 1872 SCEVInsertPointGuard Guard(Builder, this); 1873 Builder.SetInsertPoint(InsertPt); 1889 V = Builder.CreateGEP(Ety, V, Idx, "scevgep"); 1894 V = Builder.CreateBitCast(V, Type::getInt8PtrTy(SE.getContext(), AS)); 1895 V = Builder.CreateGEP(Type::getInt8Ty(SE.getContext()), V, Idx, 1897 V = Builder.CreateBitCast(V, Vty); 1900 V = Builder.CreateSub(V, VO.second); 1935 SCEVInsertPointGuard Guard(Builder, this); 2233 Builder.SetInsertPoint(IP); 2234 auto *I = Builder.CreateICmpNE(Expr0, Expr1, "ident.check"); 2262 Builder.SetInsertPoint(Loc); 2276 Builder.SetInsertPoint(Loc); 2278 Value *StepCompare = Builder.CreateICmp(ICmpInst::ICMP_SLT, StepValue, Zero); 2279 Value *AbsStep = Builder.CreateSelect(StepCompare, NegStepValue, StepValue); 2282 Value *TruncTripCount = Builder.CreateZExtOrTrunc(TripCountVal, Ty); 2287 CallInst *Mul = Builder.CreateCall(MulF, {AbsStep, TruncTripCount}, "mul"); 2288 Value *MulV = Builder.CreateExtractValue(Mul, 0, "mul.result"); 2289 Value *OfMul = Builder.CreateExtractValue(Mul, 1, "mul.overflow"); 2298 Add = Builder.CreateBitCast(expandAddToGEP(MulS, ARPtrTy, Ty, StartValue), 2300 Sub = Builder.CreateBitCast( 2303 Add = Builder.CreateAdd(StartValue, MulV); 2304 Sub = Builder.CreateSub(StartValue, MulV); 2307 Value *EndCompareGT = Builder.CreateICmp( 2310 Value *EndCompareLT = Builder.CreateICmp( 2315 Builder.CreateSelect(StepCompare, EndCompareGT, EndCompareLT); 2323 Builder.CreateICmp(ICmpInst::ICMP_UGT, TripCountVal, 2325 BackedgeCheck = Builder.CreateAnd( 2326 BackedgeCheck, Builder.CreateICmp(ICmpInst::ICMP_NE, StepValue, Zero)); 2328 EndCheck = Builder.CreateOr(EndCheck, BackedgeCheck); 2331 EndCheck = Builder.CreateOr(EndCheck, OfMul); 2349 return Builder.CreateOr(NUSWCheck, NSSWCheck); 2368 Builder.SetInsertPoint(IP); 2369 Check = Builder.CreateOr(Check, NextCheck);