| /freebsd/contrib/llvm-project/llvm/lib/Transforms/Utils/ |
| H A D | LoopVersioning.cpp | 41 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 D | LoopLoadElimination.cpp | 172 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 D | LoopDistribute.cpp | 498 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 D | LoopVersioningLICM.cpp | 136 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 D | LoopFlatten.cpp | 908 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 D | LoopVectorizationLegality.h | 367 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 D | VectorUtils.h | 616 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 D | LoopVectorizationLegality.cpp | 460 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 D | LoopVectorize.cpp | 1847 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 D | LoopVersioning.h | 47 LoopVersioning(const LoopAccessInfo &LAI, 141 const LoopAccessInfo &LAI; variable
|
| /freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
| H A D | LoopAccessAnalysis.cpp | 3085 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 D | VectorUtils.cpp | 1205 const auto &Strides = LAI->getSymbolicStrides(); in analyzeInterleaving()
|
| /freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
| H A D | ARMTargetTransformInfo.cpp | 2290 const LoopAccessInfo *LAI) { in canTailPredicateLoop() argument 2320 PredicatedScalarEvolution PSE = LAI->getPSE(); in canTailPredicateLoop()
|
| /freebsd/contrib/one-true-awk/testdir/ |
| H A D | funstack.in | 19753 @Article{Bresenham:1977:LAI,
|