Home
last modified time | relevance | path

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

/freebsd/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/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DLoopLoadElimination.cpp172 LoadEliminationForLoop(Loop *L, LoopInfo *LI, const LoopAccessInfo &LAI, in LoadEliminationForLoop() argument
175 : L(L), LI(LI), LAI(LAI), DT(DT), BFI(BFI), PSI(PSI), PSE(LAI.getPSE()) {} in LoadEliminationForLoop()
183 findStoreToLoadDependences(const LoopAccessInfo &LAI) { in findStoreToLoadDependences() argument
186 const auto &DepChecker = LAI.getDepChecker(); in findStoreToLoadDependences()
324 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx1).PointerValue; in needsChecking()
326 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx2).PointerValue; in needsChecking()
380 const auto &MemInstrs = LAI.getDepChecker().getMemoryInstructions(); in findPointersWrittenOnForwardingPath()
402 const auto &AllChecks = LAI.getRuntimePointerChecking()->getChecks(); in collectMemchecks()
417 LLVM_DEBUG(LAI.getRuntimePointerChecking()->printChecks(dbgs(), Checks)); in collectMemchecks()
510 auto StoreToLoadDependences = findStoreToLoadDependences(LAI); in processLoop()
[all …]
H A DLoopDistribute.cpp498 computePartitionSetForPointers(const LoopAccessInfo &LAI) { in computePartitionSetForPointers() argument
499 const RuntimePointerChecking *RtPtrCheck = LAI.getRuntimePointerChecking(); in computePartitionSetForPointers()
506 LAI.getInstructionsForAccess(Ptr, RtPtrCheck->Pointers[I].IsWritePtr); in computePartitionSetForPointers()
676 LAI = &LAIs.getInfo(*L); in processLoop()
680 if (LAI->canVectorizeMemory()) in processLoop()
684 auto *Dependences = LAI->getDepChecker().getDependences(); in processLoop()
712 const MemoryDepChecker &DepChecker = LAI->getDepChecker(); in processLoop()
769 const SCEVPredicate &Pred = LAI->getPSE().getPredicate(); in processLoop()
770 if (LAI->hasConvergentOp() && !Pred.isAlwaysTrue()) { in processLoop()
791 auto PtrToPartition = Partitions.computePartitionSetForPointers(*LAI); 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()
H A DLoopFlatten.cpp908 const LoopAccessInfo &LAI) { in FlattenLoopPair() argument
970 LoopVersioning LVer(LAI, Checks, FI.OuterLoop, LI, DT, SE); in FlattenLoopPair()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/
H A DLoopVectorizationLegality.h367 return LAI->getRuntimePointerChecking(); in getRuntimePointerChecking()
370 const LoopAccessInfo *getLAI() const { return LAI; } in getLAI()
373 return LAI->getDepChecker().isSafeForAnyVectorWidth(); in isSafeForAnyVectorWidth()
377 return LAI->getDepChecker().getMaxSafeVectorWidthInBits(); in getMaxSafeVectorWidthInBits()
390 unsigned getNumStores() const { return LAI->getNumStores(); } in getNumStores()
391 unsigned getNumLoads() const { return LAI->getNumLoads(); } in getNumLoads()
491 const LoopAccessInfo *LAI = nullptr; variable
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DVectorUtils.h616 const LoopAccessInfo *LAI) in InterleavedAccessInfo() argument
617 : PSE(PSE), TheLoop(L), DT(DT), LI(LI), LAI(LAI) {} in InterleavedAccessInfo()
688 const LoopAccessInfo *LAI; variable
772 return LAI && LAI->getDepChecker().getDependences(); in areDependencesValid()
830 const auto &DepChecker = LAI->getDepChecker(); in collectDependences()
/freebsd/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()
1070 if (LAI->hasLoadStoreDependenceInvolvingLoopInvariantAddress()) { in canVectorizeMemory()
1083 if (!LAI->getStoresToInvariantAddresses().empty()) { in canVectorizeMemory()
1086 for (StoreInst *SI : LAI->getStoresToInvariantAddresses()) { in canVectorizeMemory()
1114 if (LAI->hasStoreStoreDependenceInvolvingLoopInvariantAddress()) { in canVectorizeMemory()
1122 for (StoreInst *SI : LAI->getStoresToInvariantAddresses()) { in canVectorizeMemory()
[all …]
H A DLoopVectorize.cpp1847 void Create(Loop *L, const LoopAccessInfo &LAI, in Create() argument
1855 LAI.getNumRuntimePointerChecks() > VectorizeMemoryCheckThreshold; in Create()
1874 const auto &RtPtrChecking = *LAI.getRuntimePointerChecking(); in Create()
7323 const LoopAccessInfo *LAI = ILV.Legal->getLAI(); in executePlan() local
7325 if (LAI && !LAI->getRuntimePointerChecking()->getChecks().empty() && in executePlan()
7326 !LAI->getRuntimePointerChecking()->getDiffChecks()) { in executePlan()
7333 *LAI, LAI->getRuntimePointerChecking()->getChecks(), OrigLoop, LI, DT, in executePlan()
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DLoopVersioning.h47 LoopVersioning(const LoopAccessInfo &LAI,
141 const LoopAccessInfo &LAI; variable
/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopAccessAnalysis.cpp3085 for (const auto &[L, LAI] : LoopAccessInfoMap) { in clear()
3086 if (LAI->getRuntimePointerChecking()->getChecks().empty() && in clear()
3087 LAI->getPSE().getPredicate().isAlwaysTrue()) in clear()
H A DVectorUtils.cpp1205 const auto &Strides = LAI->getSymbolicStrides(); in analyzeInterleaving()
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMTargetTransformInfo.cpp2290 const LoopAccessInfo *LAI) { in canTailPredicateLoop() argument
2320 PredicatedScalarEvolution PSE = LAI->getPSE(); in canTailPredicateLoop()
/freebsd/contrib/one-true-awk/testdir/
H A Dfunstack.in19753 @Article{Bresenham:1977:LAI,