Home | History | Annotate | Download | only in Analysis

Lines Matching refs:IP

34 /// ReuseOrCreateCast - Arrange for there to be a cast of V to Ty at IP,
40 BasicBlock::iterator IP) {
42 // point. It doesn't need to be the actual IP where the uses of the returned
43 // cast will be added, but it must dominate such IP.
59 // If the cast isn't where we want it, create a new cast at IP.
62 if (BasicBlock::iterator(CI) != IP || BIP == IP) {
66 Ret = CastInst::Create(Op, V, Ty, "", &*IP);
78 Ret = CastInst::Create(Op, V, Ty, V->getName(), &*IP);
80 // We assert at the end of the function since IP might point to an
91 BasicBlock::iterator IP = ++I->getIterator();
93 IP = II->getNormalDest()->begin();
95 while (isa<PHINode>(IP))
96 ++IP;
98 if (isa<FuncletPadInst>(IP) || isa<LandingPadInst>(IP)) {
99 ++IP;
100 } else if (isa<CatchSwitchInst>(IP)) {
101 IP = MustDominate->getFirstInsertionPt();
103 assert(!IP->isEHPad() && "unexpected eh pad!");
106 return IP;
154 BasicBlock::iterator IP = A->getParent()->getEntryBlock().begin();
155 while ((isa<BitCastInst>(IP) &&
156 isa<Argument>(cast<BitCastInst>(IP)->getOperand(0)) &&
157 cast<BitCastInst>(IP)->getOperand(0) != A) ||
158 isa<DbgInfoIntrinsic>(IP))
159 ++IP;
160 return ReuseOrCreateCast(A, Ty, Op, IP);
165 BasicBlock::iterator IP = findInsertPointAfter(I, Builder.GetInsertBlock());
166 return ReuseOrCreateCast(I, Ty, Op, IP);
182 BasicBlock::iterator IP = Builder.GetInsertPoint();
183 if (IP != BlockBegin) {
184 --IP;
185 for (; ScanLimit; --IP, --ScanLimit) {
188 if (isa<DbgInfoIntrinsic>(IP))
190 if (IP->getOpcode() == (unsigned)Opcode && IP->getOperand(0) == LHS &&
191 IP->getOperand(1) == RHS)
192 return &*IP;
193 if (IP == BlockBegin) break;
510 BasicBlock::iterator IP = Builder.GetInsertPoint();
511 if (IP != BlockBegin) {
512 --IP;
513 for (; ScanLimit; --IP, --ScanLimit) {
516 if (isa<DbgInfoIntrinsic>(IP))
518 if (IP->getOpcode() == Instruction::GetElementPtr &&
519 IP->getOperand(0) == V && IP->getOperand(1) == Idx)
520 return &*IP;
521 if (IP == BlockBegin) break;
1612 Instruction *IP) {
1613 assert(IP);
1614 Builder.SetInsertPoint(IP);
1860 Instruction *IP = nullptr;
1862 IP = &*PN->getParent()->getFirstInsertionPt();
1864 IP = OrigInc->getNextNode();
1866 IRBuilder<> Builder(IP);
2007 Instruction *IP) {
2008 assert(IP);
2011 return expandUnionPredicate(cast<SCEVUnionPredicate>(Pred), IP);
2013 return expandEqualPredicate(cast<SCEVEqualPredicate>(Pred), IP);
2016 return expandWrapPredicate(AddRecPred, IP);
2023 Instruction *IP) {
2024 Value *Expr0 = expandCodeFor(Pred->getLHS(), Pred->getLHS()->getType(), IP);
2025 Value *Expr1 = expandCodeFor(Pred->getRHS(), Pred->getRHS()->getType(), IP);
2027 Builder.SetInsertPoint(IP);
2118 Instruction *IP) {
2124 NUSWCheck = generateOverflowCheck(A, IP, false);
2128 NSSWCheck = generateOverflowCheck(A, IP, true);
2139 return ConstantInt::getFalse(IP->getContext());
2143 Instruction *IP) {
2144 auto *BoolType = IntegerType::get(IP->getContext(), 1);
2149 auto *NextCheck = expandCodeForPredicate(Pred, IP);
2150 Builder.SetInsertPoint(IP);