| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | LoopAccessAnalysis.cpp | 163 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 D | IVDescriptors.cpp | 1373 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 D | VectorUtils.cpp | 1126 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 D | LoopLoadElimination.cpp | 96 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 D | LoopAccessAnalysis.h | 171 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 D | VectorUtils.h | 753 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 D | IVDescriptors.h | 348 PredicatedScalarEvolution &PSE,
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/ |
| H A D | VPRecipeBuilder.h | 40 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 D | LoopVectorizationLegality.cpp | 458 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 D | LoopVectorizationPlanner.h | 274 PredicatedScalarEvolution &PSE; variable 291 PredicatedScalarEvolution &PSE, in LoopVectorizationPlanner() argument 295 PSE(PSE), Hints(Hints), ORE(ORE) {} in LoopVectorizationPlanner()
|
| H A D | LoopVectorize.cpp | 449 : 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 D | LoopVectorizationLegality.h | 244 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 D | symbolic-stride.ll | 25 ; 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 D | wrapping-pointer-versioning.ll | 33 ; 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 D | memcheck-wrapping-pointers.ll | 47 ; 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 D | ProfileSummaryBuilder.cpp | 154 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 D | VPlanSlpTest.cpp | 30 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 D | ARMTargetTransformInfo.cpp | 2143 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 D | ExprEngineCallAndReturn.cpp | 377 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 D | VariableNames.rst | 46 InnerLoopVectorizer LB(L, PSE, LI, DT, TLI, TTI, AC, ORE, VF.Width, IC,
|