Home
last modified time | relevance | path

Searched refs:LAI (Results 1 – 13 of 13) sorted by relevance

/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Utils/
H A DLoopVersioning.cpp41 LoopVersioning::LoopVersioning(const LoopAccessInfo &LAI, in LoopVersioning() argument
46 Preds(LAI.getPSE().getPredicate()), LAI(LAI), LI(LI), DT(DT), in LoopVersioning()
62 const auto &RtPtrChecking = *LAI.getRuntimePointerChecking(); in versionLoop()
183 const RuntimePointerChecking *RtPtrChecking = LAI.getRuntimePointerChecking(); in prepareNoAliasMetadata()
224 for (Instruction *I : LAI.getDepChecker().getMemoryInstructions()) { in annotateLoopWithNoAlias()
279 const LoopAccessInfo &LAI = LAIs.getInfo(*L); in runImpl() local
280 if (!LAI.hasConvergentOp() && in runImpl()
281 (LAI.getNumRuntimePointerChecks() || in runImpl()
282 !LAI.getPSE().getPredicate().isAlwaysTrue())) { in runImpl()
283 LoopVersioning LVer(LAI, LAI.getRuntimePointerChecking()->getChecks(), L, in runImpl()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopLoadElimination.cpp173 : L(L), LI(LI), LAI(LAI), DT(DT), BFI(BFI), PSI(PSI), PSE(LAI.getPSE()) {} in LoadEliminationForLoop()
181 findStoreToLoadDependences(const LoopAccessInfo &LAI) { in findStoreToLoadDependences() argument
184 const auto *Deps = LAI.getDepChecker().getDependences(); in findStoreToLoadDependences()
195 Instruction *Source = Dep.getSource(LAI); in findStoreToLoadDependences()
196 Instruction *Destination = Dep.getDestination(LAI); in findStoreToLoadDependences()
494 auto StoreToLoadDependences = findStoreToLoadDependences(LAI); in processLoop()
500 InstOrder = LAI.getDepChecker().generateInstructionOrderMap(); in processLoop()
554 if (LAI.getPSE().getPredicate().getComplexity() > in processLoop()
566 if (LAI.hasConvergentOp()) { in processLoop()
587 LoopVersioning LV(LAI, Checks, L, LI, DT, PSE.getSE()); in processLoop()
[all …]
H A DLoopDistribute.cpp499 computePartitionSetForPointers(const LoopAccessInfo &LAI) { in computePartitionSetForPointers() argument
677 LAI = &LAIs.getInfo(*L); in processLoop()
681 if (LAI->canVectorizeMemory()) in processLoop()
685 auto *Dependences = LAI->getDepChecker().getDependences(); in processLoop()
710 const MemoryDepChecker &DepChecker = LAI->getDepChecker(); in processLoop()
767 const SCEVPredicate &Pred = LAI->getPSE().getPredicate(); in processLoop()
768 if (LAI->hasConvergentOp() && !Pred.isAlwaysTrue()) { in processLoop()
789 const auto *RtPtrChecking = LAI->getRuntimePointerChecking(); in processLoop()
794 if (LAI->hasConvergentOp() && !Checks.empty()) { in processLoop()
812 LoopVersioning LVer(*LAI, Checks, L, LI, DT, SE); in processLoop()
[all …]
H A DLoopVersioningLICM.cpp136 const LoopAccessInfo *LAI = nullptr; member
380 LAI = &LAIs.getInfo(*CurLoop); in legalLoopInstructions()
382 if (LAI->getRuntimePointerChecking()->getChecks().empty()) { in legalLoopInstructions()
387 if (LAI->getNumRuntimePointerChecks() > in legalLoopInstructions()
396 << NV("RuntimeChecks", LAI->getNumRuntimePointerChecks()) in legalLoopInstructions()
501 << NV("RuntimeChecks", LAI->getNumRuntimePointerChecks()); in isLegalForVersioning()
555 LoopVersioning LVer(*LAI, LAI->getRuntimePointerChecking()->getChecks(), in run()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h364 return LAI->getRuntimePointerChecking(); in getRuntimePointerChecking()
367 const LoopAccessInfo *getLAI() const { return LAI; } in getLAI()
370 return LAI->getDepChecker().isSafeForAnyVectorWidth(); in isSafeForAnyVectorWidth()
374 return LAI->getDepChecker().getMaxSafeVectorWidthInBits(); in getMaxSafeVectorWidthInBits()
387 unsigned getNumStores() const { return LAI->getNumStores(); } in getNumStores()
388 unsigned getNumLoads() const { return LAI->getNumLoads(); } in getNumLoads()
488 const LoopAccessInfo *LAI = nullptr; variable
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DVectorUtils.h590 const LoopAccessInfo *LAI) in InterleavedAccessInfo() argument
591 : PSE(PSE), TheLoop(L), DT(DT), LI(LI), LAI(LAI) {} in InterleavedAccessInfo()
662 const LoopAccessInfo *LAI; variable
740 return LAI && LAI->getDepChecker().getDependences(); in areDependencesValid()
798 auto *Deps = LAI->getDepChecker().getDependences(); in collectDependences()
800 Dependences[Dep.getSource(*LAI)].insert(Dep.getDestination(*LAI)); in collectDependences()
H A DLoopAccessAnalysis.h163 Instruction *getSource(const LoopAccessInfo &LAI) const;
165 Instruction *getDestination(const LoopAccessInfo &LAI) const;
822 const LoopAccessInfo &LAI) const { in getSource() argument
823 return LAI.getDepChecker().getMemoryInstructions()[Source]; in getSource()
827 const LoopAccessInfo &LAI) const { in getDestination() argument
828 return LAI.getDepChecker().getMemoryInstructions()[Destination]; in getDestination()
/freebsd-14.2/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopVersioning.h47 LoopVersioning(const LoopAccessInfo &LAI,
141 const LoopAccessInfo &LAI; variable
/freebsd-14.2/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DLoopVectorizationLegality.cpp460 LAI ? LAI->getSymbolicStrides() : DenseMap<Value *, const SCEV *>(); in isConsecutivePtr()
475 return LAI->isInvariant(V); in isInvariant()
1058 LAI = &LAIs.getInfo(*TheLoop); in canVectorizeMemory()
1059 const OptimizationRemarkAnalysis *LAR = LAI->getReport(); in canVectorizeMemory()
1067 if (!LAI->canVectorizeMemory()) in canVectorizeMemory()
1074 if (!LAI->getStoresToInvariantAddresses().empty()) { in canVectorizeMemory()
1077 for (StoreInst *SI : LAI->getStoresToInvariantAddresses()) { in canVectorizeMemory()
1105 if (LAI->hasDependenceInvolvingLoopInvariantAddress()) { in canVectorizeMemory()
1114 for (StoreInst *SI : LAI->getStoresToInvariantAddresses()) { in canVectorizeMemory()
1149 PSE.addPredicate(LAI->getPSE().getPredicate()); in canVectorizeMemory()
[all …]
H A DLoopVectorize.cpp1974 void Create(Loop *L, const LoopAccessInfo &LAI, in Create() argument
1982 LAI.getNumRuntimePointerChecks() > VectorizeMemoryCheckThreshold; in Create()
2001 const auto &RtPtrChecking = *LAI.getRuntimePointerChecking(); in Create()
7585 const LoopAccessInfo *LAI = ILV.Legal->getLAI(); in executePlan() local
7587 if (LAI && !LAI->getRuntimePointerChecking()->getChecks().empty() && in executePlan()
7588 !LAI->getRuntimePointerChecking()->getDiffChecks()) { in executePlan()
7595 *LAI, LAI->getRuntimePointerChecking()->getChecks(), OrigLoop, LI, DT, in executePlan()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Analysis/
H A DVectorUtils.cpp1146 const auto &Strides = LAI->getSymbolicStrides(); in analyzeInterleaving()
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.cpp2278 const LoopAccessInfo *LAI) { in canTailPredicateLoop() argument
2308 PredicatedScalarEvolution PSE = LAI->getPSE(); in canTailPredicateLoop()
/freebsd-14.2/contrib/one-true-awk/testdir/
H A Dfunstack.in19753 @Article{Bresenham:1977:LAI,