Lines Matching defs:PSE
430 getSmallBestKnownTC(PredicatedScalarEvolution &PSE, Loop *L,
433 if (unsigned ExpectedTC = PSE.getSE()->getSmallConstantTripCount(L))
445 if (unsigned ExpectedTC = PSE.getSmallConstantMaxTripCount())
478 InnerLoopVectorizer(Loop *OrigLoop, PredicatedScalarEvolution &PSE,
488 : OrigLoop(OrigLoop), PSE(PSE), LI(LI), DT(DT), TLI(TLI), TTI(TTI),
491 Builder(PSE.getSE()->getContext()), Legal(LVL), Cost(CM), BFI(BFI),
602 PredicatedScalarEvolution &PSE;
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,
981 PredicatedScalarEvolution &PSE, LoopInfo *LI,
989 : ScalarEpilogueStatus(SEL), TheLoop(L), PSE(PSE), LI(LI), Legal(Legal),
1762 PredicatedScalarEvolution &PSE;
1843 PredicatedScalarEvolution &PSE;
1849 GeneratedRTChecks(PredicatedScalarEvolution &PSE, DominatorTree *DT,
1853 : DT(DT), LI(LI), TTI(TTI), SCEVExp(*PSE.getSE(), DL, "scev.check"),
1854 MemCheckExp(*PSE.getSE(), DL, "scev.check"),
1855 AddBranchWeights(AddBranchWeights), PSE(PSE), CostKind(CostKind) {}
2002 PSE, OuterLoop, /* CanUseConstantMax = */ false))
2332 if (unsigned TC = Cost->PSE.getSmallConstantMaxTripCount()) {
2516 ScalarEvolution &SE = *PSE.getSE();
2902 PSE.getSE()->forgetLoop(OrigLoop);
2903 PSE.getSE()->forgetBlockAndLoopDispositions();
2912 PSE.getSE()->forgetLcssaPhiWithNewPredecessor(OrigLoop, &PN);
3732 if (!PSE.getPredicate().isAlwaysTrue()) {
3952 ScalarEvolution *SE = PSE.getSE();
3954 unsigned MaxTC = PSE.getSmallConstantMaxTripCount();
4059 ScalarEvolution *SE = PSE.getSE();
4064 const SCEV *BackedgeTakenCount = PSE.getSymbolicMaxBackedgeTakenCount();
4065 assert(BackedgeTakenCount == PSE.getBackedgeTakenCount() &&
4332 const unsigned MaxTripCount = PSE.getSmallConstantMaxTripCount();
4728 ScalarEvolution &SE = *PSE.getSE();
4897 auto BestKnownTC = getSmallBestKnownTC(PSE, TheLoop);
4973 unsigned KnownTC = PSE.getSE()->getSmallConstantTripCount(TheLoop);
5539 auto TC = PSE.getSE()->getSmallConstantTripCount(TheLoop);
5590 PredicatedScalarEvolution &PSE,
5599 auto *SE = PSE.getSE();
5609 return PSE.getSCEV(Ptr);
5621 auto *SE = PSE.getSE();
5631 const SCEV *PtrSCEV = getAddressAccessSCEV(Ptr, Legal, PSE, TheLoop);
6297 if (!PSE.getSE()->isLoopInvariant(PSE.getSCEV(ScalarParam),
6308 ScalarEvolution *SE = PSE.getSE();
6419 auto *SE = PSE.getSE();
6628 (PSE.getSCEV(I->getOperand(0))->isOne() ||
6629 PSE.getSCEV(I->getOperand(1))->isOne()))
6639 if (!isa<Constant>(Op2) && PSE.getSE()->isSCEVable(Op2->getType()) &&
6640 isa<SCEVConstant>(PSE.getSCEV(Op2))) {
6641 Op2 = cast<SCEVConstant>(PSE.getSCEV(Op2))->getValue();
7235 auto TC = PSE.getSE()->getSmallConstantTripCount(OrigLoop);
7666 VPlanTransforms::optimizeForVFAndUF(BestVPlan, BestVF, BestUF, PSE);
7711 PSE.getSE());
7777 TTI.getUnrollingPreferences(L, *PSE.getSE(), UP, ORE);
8354 *PSE.getSE(), *OrigLoop);
8359 *PSE.getSE());
8394 return createWidenInductionRecipes(Phi, I, Start, II, Plan, *PSE.getSE(),
8577 ScalarEvolution &SE = *PSE.getSE();
9244 PSE, RequiresScalarEpilogueCheck,
9264 VPRecipeBuilder RecipeBuilder(*Plan, OrigLoop, TLI, &TTI, Legal, CM, PSE,
9411 *Plan, *PSE.getSE(), OrigLoop, UncountableExitingBlock,
9455 auto *ScevStride = dyn_cast<SCEVConstant>(PSE.getSCEV(StrideV));
9517 auto Plan = VPlan::createInitialVPlan(Legal->getWidestInductionType(), PSE,
9530 *PSE.getSE(), *TLI);
9540 VPRecipeBuilder RecipeBuilder(*Plan, OrigLoop, TLI, &TTI, Legal, CM, PSE,
9960 Loop *L, PredicatedScalarEvolution &PSE, LoopInfo *LI, DominatorTree *DT,
9967 if (isa<SCEVCouldNotCompute>(PSE.getBackedgeTakenCount())) {
9973 InterleavedAccessInfo IAI(PSE, L, DT, LI, LVL->getLAI());
9978 LoopVectorizationCostModel CM(SEL, L, PSE, LI, LVL, *TTI, TLI, DB, AC, ORE, F,
9983 LoopVectorizationPlanner LVP(L, LI, DT, TLI, *TTI, LVL, CM, IAI, PSE, Hints,
10005 GeneratedRTChecks Checks(PSE, DT, LI, TTI, F->getDataLayout(),
10007 InnerLoopVectorizer LB(L, PSE, LI, DT, TLI, TTI, AC, ORE, VF.Width,
10070 PredicatedScalarEvolution &PSE,
10149 if (auto ExpectedTC = getSmallBestKnownTC(PSE, L)) {
10377 PredicatedScalarEvolution PSE(*SE, *L);
10381 LoopVectorizationLegality LVL(L, PSE, DT, TTI, TLI, F, *LAIs, LI, ORE,
10409 return processLoopInVPlanNativePath(L, PSE, LI, DT, &LVL, TTI, TLI, DB, AC,
10414 InterleavedAccessInfo IAI(PSE, L, DT, LI, LVL.getLAI());
10444 auto ExpectedTC = getSmallBestKnownTC(PSE, L);
10522 LoopVectorizationCostModel CM(SEL, L, PSE, LI, &LVL, *TTI, TLI, DB, AC, ORE,
10525 LoopVectorizationPlanner LVP(L, LI, DT, TLI, *TTI, &LVL, CM, IAI, PSE, Hints,
10542 GeneratedRTChecks Checks(PSE, DT, LI, TTI, F->getDataLayout(),
10552 Checks.create(L, *LVL.getLAI(), PSE.getPredicate(), VF.Width, SelectedIC);
10558 !areRuntimeChecksProfitable(Checks, VF, L, *TTI, PSE, SEL)) {
10679 L, PSE, LI, DT, TLI, TTI, AC, ORE, ElementCount::getFixed(1),
10707 EpilogueVectorizerMainLoop MainILV(L, PSE, LI, DT, TLI, TTI, AC, ORE,
10718 EpilogueVectorizerEpilogueLoop EpilogILV(L, PSE, LI, DT, TLI, TTI, AC,
10731 InnerLoopVectorizer LB(L, PSE, LI, DT, TLI, TTI, AC, ORE, VF.Width,