Lines Matching defs:OrigLoop

478   InnerLoopVectorizer(Loop *OrigLoop, PredicatedScalarEvolution &PSE,
488 : OrigLoop(OrigLoop), PSE(PSE), LI(LI), DT(DT), TLI(TLI), TTI(TTI),
497 OrigLoop->getHeader(), PSI, BFI, PGSOQueryType::IRPass);
597 Loop *OrigLoop;
732 Loop *OrigLoop, PredicatedScalarEvolution &PSE, LoopInfo *LI,
739 : InnerLoopVectorizer(OrigLoop, PSE, LI, DT, TLI, TTI, AC, ORE,
772 Loop *OrigLoop, PredicatedScalarEvolution &PSE, LoopInfo *LI,
779 : InnerLoopAndEpilogueVectorizer(OrigLoop, PSE, LI, DT, TLI, TTI, AC, ORE,
801 Loop *OrigLoop, PredicatedScalarEvolution &PSE, LoopInfo *LI,
808 : InnerLoopAndEpilogueVectorizer(OrigLoop, PSE, LI, DT, TLI, TTI, AC, ORE,
2519 const SCEV *TripCountSCEV = SE.applyLoopGuards(SE.getSCEV(Count), OrigLoop);
2558 if (hasBranchWeightMD(*OrigLoop->getLoopLatch()->getTerminator()))
2606 OrigLoop->getStartLoc(),
2607 OrigLoop->getHeader())
2639 LoopVectorPreHeader = OrigLoop->getLoopPreheader();
2641 assert((OrigLoop->getUniqueLatchExitBlock() ||
2902 PSE.getSE()->forgetLoop(OrigLoop);
2909 OrigLoop->getExitBlocks(ExitBlocks);
2912 PSE.getSE()->forgetLcssaPhiWithNewPredecessor(OrigLoop, &PN);
2943 setProfileInfoAfterUnrolling(OrigLoop, VectorLoop, OrigLoop,
4285 if (std::optional<unsigned> VScale = getVScaleForTuning(OrigLoop, TTI)) {
4437 reportVectorizationInfo(OutString, "InvalidCost", ORE, OrigLoop, nullptr,
4578 unsigned Width = getEstimatedRuntimeVF(OrigLoop, TTI, Candidate.Width);
4583 << getVScaleForTuning(OrigLoop, TTI).value_or(1)
4604 "ConditionalStore", ORE, OrigLoop);
4620 if (any_of(OrigLoop->getHeader()->phis(),
4629 Entry.first->getIncomingValueForBlock(OrigLoop->getLoopLatch());
4631 if (!OrigLoop->contains(cast<Instruction>(U)))
4635 if (!OrigLoop->contains(cast<Instruction>(U)))
4643 if (OrigLoop->getExitingBlock() != OrigLoop->getLoopLatch())
4709 if (OrigLoop->getHeader()->getParent()->hasOptSize() ||
4710 OrigLoop->getHeader()->getParent()->hasMinSize()) {
4726 ElementCount::getFixed(getEstimatedRuntimeVF(OrigLoop, TTI, MainLoopVF));
7060 if (!OrigLoop->isInnermost()) {
7082 "ScalableVFUnfeasible", ORE, OrigLoop);
7106 assert(OrigLoop->isInnermost() && "Inner loop expected.");
7115 if (CM.blockNeedsPredicationForAnyReason(OrigLoop->getHeader()) &&
7137 "InvalidUserVF", ORE, OrigLoop);
7151 "InvalidCost", ORE, OrigLoop);
7212 IV->getIncomingValueForBlock(OrigLoop->getLoopLatch()));
7217 if (Op == IV || !OpI || !OrigLoop->contains(OpI) || !Op->hasOneUse())
7235 auto TC = PSE.getSE()->getSmallConstantTripCount(OrigLoop);
7237 addFullyUnrolledInstructionsToIgnore(OrigLoop, Legal->getInductionVars(),
7272 if (!OrigLoop->contains(CondI) ||
7284 return OrigLoop->contains(cast<Instruction>(U)->getParent()) &&
7303 const auto &ChainOps = RdxDesc.getReductionOpChain(RedPhi, OrigLoop);
7354 for (BasicBlock *BB : OrigLoop->blocks()) {
7358 if (BB == OrigLoop->getLoopLatch())
7401 unsigned EstimatedWidth = getEstimatedRuntimeVF(OrigLoop, CM.TTI, VF);
7543 CostCtx, OrigLoop) ||
7545 CostCtx, OrigLoop)) &&
7665 OrigLoop->getHeader()->getContext());
7671 &BestVPlan, OrigLoop->getParentLoop(),
7710 *LAI, LAI->getRuntimePointerChecking()->getChecks(), OrigLoop, LI, DT,
7745 BasicBlock *PH = OrigLoop->getLoopPreheader();
7757 MDNode *OrigLoopID = OrigLoop->getLoopID();
7770 if (MDNode *LID = OrigLoop->getLoopID())
7794 hasBranchWeightMD(*OrigLoop->getLoopLatch()->getTerminator())) {
7859 << *OrigLoop->getHeader()->getParent() << "\n";
7908 if (hasBranchWeightMD(*OrigLoop->getLoopLatch()->getTerminator()))
8028 if (hasBranchWeightMD(*OrigLoop->getLoopLatch()->getTerminator())) {
8066 dbgs() << "final fn:\n" << *OrigLoop->getHeader()->getParent() << "\n";
8080 assert(!OrigLoop->isLoopExiting(Src) &&
8083 return OrigLoop->getHeader() != Succ;
8162 if (OrigLoop->isLoopExiting(Src) &&
8194 BasicBlock *Header = OrigLoop->getHeader();
8229 assert(OrigLoop->contains(BB) && "Block is not a part of a loop");
8231 assert(OrigLoop->getHeader() != BB &&
8329 VPlan &Plan, ScalarEvolution &SE, Loop &OrigLoop) {
8331 Phi->getIncomingValueForBlock(OrigLoop.getLoopPreheader()));
8332 assert(SE.isLoopInvariant(IndDesc.getStep(), &OrigLoop) &&
8354 *PSE.getSE(), *OrigLoop);
8395 *OrigLoop);
8622 BasicBlock *OrigLatch = OrigLoop->getLoopLatch();
8817 if (Phi->getParent() != OrigLoop->getHeader())
8832 Phi->getIncomingValueForBlock(OrigLoop->getLoopPreheader()));
8913 assert(OrigLoop->isInnermost() && "Inner loop expected.");
9064 collectUsersInExitBlocks(Loop *OrigLoop, VPRecipeBuilder &Builder,
9081 BasicBlock *ExitingBB = OrigLoop->getLoopLatch();
9245 CM.foldTailByMasking(), OrigLoop);
9264 VPRecipeBuilder RecipeBuilder(*Plan, OrigLoop, TLI, &TTI, Legal, CM, PSE,
9299 LoopBlocksDFS DFS(OrigLoop);
9304 BasicBlock *HeaderBB = OrigLoop->getHeader();
9307 any_of(OrigLoop->blocks(), [this, HeaderBB](BasicBlock *BB) {
9336 Phi->getIncomingValueForBlock(OrigLoop->getLoopPreheader())));
9399 Phi->getIncomingValueForBlock(OrigLoop->getLoopLatch()));
9411 *Plan, *PSE.getSE(), OrigLoop, UncountableExitingBlock,
9415 "UncountableEarlyExitLoopsUnsupportedExitValue", ORE, OrigLoop);
9422 collectUsersInExitBlocks(OrigLoop, RecipeBuilder, *Plan);
9513 assert(!OrigLoop->isInnermost());
9518 true, false, OrigLoop);
9521 VPlanHCFGBuilder HCFGBuilder(OrigLoop, LI, *Plan);
9540 VPRecipeBuilder RecipeBuilder(*Plan, OrigLoop, TLI, &TTI, Legal, CM, PSE,
9721 VPValue *Cond = RecipeBuilder.getBlockInMask(OrigLoop->getHeader());
9771 DebugLoc ExitDL = OrigLoop->getLoopLatch()->getTerminator()->getDebugLoc();
9821 OrigLoop->getHeader()->getContext())));