Lines Matching defs:InsertPt
219 /// InsertPt is true then actually generate the resulting expression, make it
220 /// available at \p InsertPt and return it in \p Result (else no change to the
225 std::optional<BasicBlock::iterator> InsertPt);
228 /// it available at InsertPt
230 Value *OldCondition, BasicBlock::iterator InsertPt);
234 Value *freezeAndPush(Value *Orig, BasicBlock::iterator InsertPt);
300 return mergeChecks(ChecksToHoist, ChecksToWiden, /*InsertPt=*/std::nullopt)
308 auto InsertPt = findInsertionPointForWideCondition(ToWiden);
309 auto MergedCheck = mergeChecks(ChecksToHoist, ChecksToWiden, InsertPt);
312 getCondition(ToWiden), *InsertPt);
629 BasicBlock::iterator InsertPt) {
630 if (isGuaranteedNotToBePoison(Orig, nullptr, InsertPt, &DT))
636 FI->insertBefore(*InsertPt->getParent(), InsertPt);
640 BasicBlock::iterator InsertPt = *InsertPtAtDef;
642 FI->insertBefore(*InsertPt->getParent(), InsertPt);
661 if (isGuaranteedNotToBePoison(Def, nullptr, InsertPt, &DT))
663 BasicBlock::iterator InsertPt = *getFreezeInsertPt(Def, DT);
665 FI->insertBefore(*InsertPt->getParent(), InsertPt);
680 if (isGuaranteedNotToBePoison(V, nullptr, InsertPt, &DT))
723 std::optional<BasicBlock::iterator> InsertPt) {
753 if (InsertPt) {
755 ConstantInt::get((*InsertPt)->getContext(), NewRHSAP);
756 assert(canBeHoistedTo(LHS, *InsertPt) && "must be");
757 makeAvailableAt(LHS, *InsertPt);
758 Result = new ICmpInst(*InsertPt, Pred, LHS, NewRHS, "wide.chk");
771 if (InsertPt) {
773 makeAvailableAt(RC.getCheckInst(), *InsertPt);
776 *InsertPt);
782 Result = freezeAndPush(Result, *InsertPt);
794 BasicBlock::iterator InsertPt) {
796 IRBuilder<> Builder(InsertPt->getParent(), InsertPt);
797 makeAvailableAt(ChecksToHoist, InsertPt);
798 makeAvailableAt(OldCondition, InsertPt);
800 Result = freezeAndPush(Result, InsertPt);