Lines Matching defs:InsertPts

159   /// \param InsertPts existing insertion points
160 /// \pre NewPt and all instruction in InsertPts belong to the same function
161 /// \return true if one of the insertion point in InsertPts dominates NewPt,
164 InsertionPoints &InsertPts);
173 /// \param InsertPts existing insertion points
174 /// \pre NewPt and all instruction in InsertPts belong to the same function
176 /// \return true if it exists an insertion point in InsertPts that could
180 InsertionPoints &InsertPts);
188 /// \param[out] InsertPts output storage of the analysis
190 InsertionPoints &InsertPts);
196 InsertionPoints &InsertPts);
203 /// Transfer the list of dominated uses of IPI to NewPt in InsertPts.
204 /// Append Use to this list and delete the entry of IPI in InsertPts.
208 InsertionPoints &InsertPts) {
217 InsertPts[NewPt] = std::move(OldUses);
219 InsertPts.erase(OldInstr);
381 InsertionPoints &InsertPts) {
387 for (auto &IPI : InsertPts) {
407 InsertionPoints &InsertPts) {
415 for (InsertionPoints::iterator IPI = InsertPts.begin(),
416 EndIPI = InsertPts.end();
426 appendAndTransferDominatedUses(NewPt, User, OpNo, IPI, InsertPts);
450 appendAndTransferDominatedUses(NewPt, User, OpNo, IPI, InsertPts);
457 Instruction *User, unsigned OpNo, InsertionPoints &InsertPts) {
468 if (isDominated(InsertionPoint, User, OpNo, InsertPts))
472 if (tryAndMerge(InsertionPoint, User, OpNo, InsertPts))
478 InsertPts[InsertionPoint].emplace_back(User, OpNo);
499 InsertionPoints &InsertPts) {
504 assert(!InsertPts.empty() && "Empty uses does not need a definition");
506 for (const auto &IPI : InsertPts) {
542 InsertionPoints InsertPts;
544 computeInsertionPoint(U->User, U->Op, InsertPts);
549 insertDefinitions(F, *Promotion.GV, InsertPts);