Home
last modified time | relevance | path

Searched refs:PSE (Results 1 – 20 of 20) sorted by relevance

/llvm-project-15.0.7/llvm/lib/Analysis/
H A DLoopAccessAnalysis.cpp163 ScalarEvolution *SE = PSE.getSE(); in replaceSymbolicStrideSCEV()
169 auto *Expr = PSE.getSCEV(Ptr); in replaceSymbolicStrideSCEV()
204 ScalarEvolution *SE = PSE.getSE(); in insert()
623 : TheLoop(TheLoop), AST(*AA), LI(LI), DepCands(DA), PSE(PSE) {} in AccessAnalysis()
726 PredicatedScalarEvolution &PSE; member in __anonf7514c230111::AccessAnalysis
743 AR = PSE.getAsAddRec(Ptr); in hasComputableBounds()
910 ScalarEvolution *SE = PSE.getSE(); in findForkedPointer()
1334 AR = PSE.getAsAddRec(Ptr); in getPtrStride()
2372 auto *SE = PSE->getSE(); in analyzeLoop()
2493 auto *SE = PSE->getSE(); in isUniform()
[all …]
H A DIVDescriptors.cpp1373 static bool getCastsForInductionPHI(PredicatedScalarEvolution &PSE, in getCastsForInductionPHI() argument
1380 assert(PSE.getSCEV(PN) == AR && "Unexpected phi node SCEV expression"); in getCastsForInductionPHI()
1426 auto *AddRec = dyn_cast<SCEVAddRecExpr>(PSE.getSCEV(Val)); in getCastsForInductionPHI()
1427 if (AddRec && PSE.areAddRecsEqualWithPreds(AddRec, AR)) in getCastsForInductionPHI()
1447 PredicatedScalarEvolution &PSE, in isInductionPHI() argument
1460 return isFPInductionPHI(Phi, TheLoop, PSE.getSE(), D); in isInductionPHI()
1462 const SCEV *PhiScev = PSE.getSCEV(Phi); in isInductionPHI()
1467 AR = PSE.getAsAddRec(Phi); in isInductionPHI()
1483 if (getCastsForInductionPHI(PSE, SymbolicPhi, AR, Casts)) in isInductionPHI()
1484 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR, &Casts); in isInductionPHI()
[all …]
H A DVectorUtils.cpp1126 int64_t Stride = getPtrStride(PSE, ElementTy, Ptr, TheLoop, Strides, in collectConstStrideAccesses()
1129 const SCEV *Scev = replaceSymbolicStrideSCEV(PSE, Strides, Ptr); in collectConstStrideAccesses()
1301 PSE.getSE()->getMinusSCEV(DesA.Scev, DesB.Scev)); in analyzeInterleaving()
1345 if (getPtrStride(PSE, AccessTy, MemberPtr, TheLoop, Strides, in analyzeInterleaving()
/llvm-project-15.0.7/llvm/lib/Transforms/Scalar/
H A DLoopLoadElimination.cpp96 bool isDependenceDistanceOfOne(PredicatedScalarEvolution &PSE, in isDependenceDistanceOfOne()
110 if (getPtrStride(PSE, LoadType, LoadPtr, L) != 1 || in isDependenceDistanceOfOne()
111 getPtrStride(PSE, LoadType, StorePtr, L) != 1) in isDependenceDistanceOfOne()
117 auto *LoadPtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(LoadPtr)); in isDependenceDistanceOfOne()
123 PSE.getSE()->getMinusSCEV(StorePtrSCEV, LoadPtrSCEV)); in isDependenceDistanceOfOne()
280 Cand.isDependenceDistanceOfOne(PSE, L) && in removeDependencesFromMultipleStores()
281 OtherCand->isDependenceDistanceOfOne(PSE, L)) { in removeDependencesFromMultipleStores()
429 auto *PtrSCEV = cast<SCEVAddRecExpr>(PSE.getSCEV(Ptr)); in propagateStoredValueToLoadUsers()
503 if (!Cand.isDependenceDistanceOfOne(PSE, L)) in processLoop()
564 LoopVersioning LV(LAI, Checks, L, LI, DT, PSE.getSE()); in processLoop()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Analysis/
H A DLoopAccessAnalysis.h171 MemoryDepChecker(PredicatedScalarEvolution &PSE, const Loop *L) in MemoryDepChecker() argument
172 : PSE(PSE), InnermostLoop(L) {} in MemoryDepChecker()
265 PredicatedScalarEvolution &PSE;
434 PredicatedScalarEvolution &PSE, bool NeedsFreeze);
638 const PredicatedScalarEvolution &getPSE() const { return *PSE; } in getPSE()
668 std::unique_ptr<PredicatedScalarEvolution> PSE; variable
718 const SCEV *replaceSymbolicStrideSCEV(PredicatedScalarEvolution &PSE,
732 int64_t getPtrStride(PredicatedScalarEvolution &PSE, Type *AccessTy, Value *Ptr,
H A DVectorUtils.h753 InterleavedAccessInfo(PredicatedScalarEvolution &PSE, Loop *L, in InterleavedAccessInfo() argument
756 : PSE(PSE), TheLoop(L), DT(DT), LI(LI), LAI(LAI) {} in InterleavedAccessInfo()
819 PredicatedScalarEvolution &PSE;
H A DIVDescriptors.h348 PredicatedScalarEvolution &PSE,
/llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/
H A DVPRecipeBuilder.h40 PredicatedScalarEvolution &PSE; variable
112 PredicatedScalarEvolution &PSE, VPBuilder &Builder) in VPRecipeBuilder() argument
113 : OrigLoop(OrigLoop), TLI(TLI), Legal(Legal), CM(CM), PSE(PSE), in VPRecipeBuilder()
H A DLoopVectorizationLegality.cpp458 int Stride = getPtrStride(PSE, AccessTy, Ptr, TheLoop, Strides, in isConsecutivePtr()
581 if (PSE.getPredicate().isAlwaysTrue()) { in addInductionPhi()
595 if (InductionDescriptor::isInductionPHI(&Phi, TheLoop, PSE, ID) && in setupOuterLoopInductions()
685 DT, PSE.getSE())) { in canVectorizeInstrs()
776 auto *SE = PSE.getSE(); in canVectorizeInstrs()
858 if (PSE.getPredicate().isAlwaysTrue()) { in canVectorizeInstrs()
945 ScalarEvolution *SE = PSE.getSE(); in canVectorizeMemory()
982 PSE.addPredicate(LAI->getPSE().getPredicate()); in canVectorizeMemory()
1025 ScalarEvolution *SE = PSE.getSE(); in isInvariantAddressOfReduction()
1161 ScalarEvolution &SE = *PSE.getSE(); in canVectorizeWithIfConvert()
[all …]
H A DLoopVectorizationPlanner.h274 PredicatedScalarEvolution &PSE; variable
291 PredicatedScalarEvolution &PSE, in LoopVectorizationPlanner() argument
295 PSE(PSE), Hints(Hints), ORE(ORE) {} in LoopVectorizationPlanner()
H A DLoopVectorize.cpp449 : OrigLoop(OrigLoop), PSE(PSE), LI(LI), DT(DT), TLI(TLI), TTI(TTI), in InnerLoopVectorizer()
638 PredicatedScalarEvolution &PSE; member in llvm::InnerLoopVectorizer
1144 : ScalarEpilogueStatus(SEL), TheLoop(L), PSE(PSE), LI(LI), Legal(Legal), in LoopVectorizationCostModel()
1792 PredicatedScalarEvolution &PSE; member in llvm::LoopVectorizationCostModel
2806 ScalarEvolution *SE = PSE.getSE(); in getOrCreateTripCount()
6282 auto SE = PSE.getSE(); in getAddressAccessSCEV()
6292 return PSE.getSCEV(Ptr); in getAddressAccessSCEV()
6309 auto SE = PSE.getSE(); in getMemInstScalarizationCost()
6923 auto SE = PSE.getSE(); in getInstructionCost()
7577 PSE.getSE()); in executePlan()
[all …]
/llvm-project-15.0.7/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h244 Loop *L, PredicatedScalarEvolution &PSE, DominatorTree *DT, in LoopVectorizationLegality() argument
250 : TheLoop(L), LI(LI), PSE(PSE), TTI(TTI), TLI(TLI), DT(DT), in LoopVectorizationLegality()
486 PredicatedScalarEvolution &PSE; variable
/llvm-project-15.0.7/llvm/test/Analysis/LoopAccessAnalysis/
H A Dsymbolic-stride.ll25 ; CHECK-NEXT: [PSE] %gep.A = getelementptr inbounds i32, i32* %A, i64 %mul:
69 ; CHECK-NEXT: [PSE] %gep.A = getelementptr inbounds { i32, i8 }, { i32, i8 }* %A, i64 %mul:
117 ; CHECK-NEXT: [PSE] %gep.A = getelementptr inbounds i32, i32* %A, i64 %mul:
120 ; CHECK-NEXT: [PSE] %gep.A.next = getelementptr inbounds i32, i32* %A, i64 %mul.2:
H A Dwrapping-pointer-versioning.ll33 ; LAA: [PSE] %arrayidxA = getelementptr i16, i16* %a, i64 %mul_ext:
100 ; LAA: [PSE] %arrayidxA = getelementptr i16, i16* %a, i64 %mul_ext:
151 ; LAA: [PSE] %arrayidxA = getelementptr i16, i16* %a, i64 %mul_ext:
198 ; LAA: [PSE] %arrayidxA = getelementptr i16, i16* %a, i64 %mul_ext:
248 ; LAA: [PSE] %arrayidxA = getelementptr inbounds i16, i16* %a, i32 %mul:
H A Dmemcheck-wrapping-pointers.ll47 ; CHECK-NEXT: [PSE] %arrayidx = getelementptr inbounds i32, i32* %a, i64 %idxprom:
50 ; CHECK-NEXT: [PSE] %arrayidx4 = getelementptr inbounds i32, i32* %b, i64 %conv11:
/llvm-project-15.0.7/llvm/lib/ProfileData/
H A DProfileSummaryBuilder.cpp154 ProfileSummaryEntry PSE = {Cutoff, Count, CountsSeen}; in computeDetailedSummary() local
155 DetailedSummary.push_back(PSE); in computeDetailedSummary()
/llvm-project-15.0.7/llvm/unittests/Transforms/Vectorize/
H A DVPlanSlpTest.cpp30 std::unique_ptr<PredicatedScalarEvolution> PSE; member in llvm::__anon034c6bf40111::VPlanSlpTest
46 PSE.reset(new PredicatedScalarEvolution(*SE, *L)); in getInterleavedAccessInfo()
48 IAI.reset(new InterleavedAccessInfo(*PSE, L, &*DT, &*LI, &*LAI)); in getInterleavedAccessInfo()
/llvm-project-15.0.7/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.cpp2143 PredicatedScalarEvolution PSE = LAI->getPSE(); in canTailPredicateLoop() local
2164 int64_t NextStride = getPtrStride(PSE, AccessTy, Ptr, L); in canTailPredicateLoop()
2183 const SCEV *PtrScev = PSE.getSE()->getSCEV(Ptr); in canTailPredicateLoop()
2185 const SCEV *Step = AR->getStepRecurrence(*PSE.getSE()); in canTailPredicateLoop()
2186 if (PSE.getSE()->isLoopInvariant(Step, L)) in canTailPredicateLoop()
/llvm-project-15.0.7/clang/lib/StaticAnalyzer/Core/
H A DExprEngineCallAndReturn.cpp377 for (ExplodedNodeSet::iterator PSI = Dst.begin(), PSE = Dst.end(); in processCallExit() local
378 PSI != PSE; ++PSI) { in processCallExit()
/llvm-project-15.0.7/llvm/docs/Proposals/
H A DVariableNames.rst46 InnerLoopVectorizer LB(L, PSE, LI, DT, TLI, TTI, AC, ORE, VF.Width, IC,