Lines Matching defs:IPI
205 /// Transfer the list of dominated uses of IPI to NewPt in InsertPts.
206 /// Append Use to this list and delete the entry of IPI in InsertPts.
209 InsertionPoints::iterator &IPI,
212 IPI->second.emplace_back(User, OpNo);
213 // Transfer the dominated uses of IPI to NewPt
216 // value so that we don't have to dereference IPI->second.
217 Instruction *OldInstr = IPI->first;
218 Uses OldUses = std::move(IPI->second);
220 // Erase IPI.
375 for (auto &IPI : InsertPts) {
376 if (NewPt == IPI.first || DT.dominates(IPI.first, NewPt) ||
377 // When IPI.first is a terminator instruction, DT may think that
380 (IPI.first->getParent() != NewPt->getParent() &&
381 DT.dominates(IPI.first->getParent(), NewPt->getParent()))) {
384 LLVM_DEBUG(IPI.first->print(dbgs()));
386 IPI.second.emplace_back(User, OpNo);
403 for (InsertionPoints::iterator IPI = InsertPts.begin(),
405 IPI != EndIPI; ++IPI) {
406 BasicBlock *CurBB = IPI->first->getParent();
412 LLVM_DEBUG(IPI->first->print(dbgs()));
414 appendAndTransferDominatedUses(NewPt, User, OpNo, IPI, InsertPts);
434 LLVM_DEBUG(IPI->first->print(dbgs()));
438 appendAndTransferDominatedUses(NewPt, User, OpNo, IPI, InsertPts);
494 for (const auto &IPI : InsertPts) {
496 IRBuilder<> Builder(IPI.first);
505 for (auto Use : IPI.second) {