| /llvm-project-15.0.7/llvm/include/llvm/Analysis/ |
| H A D | LoopAccessAnalysis.h | 28 class LoopAccessInfo; variable 150 Instruction *getSource(const LoopAccessInfo &LAI) const; 152 Instruction *getDestination(const LoopAccessInfo &LAI) const; 561 class LoopAccessInfo { 563 LoopAccessInfo(Loop *L, ScalarEvolution *SE, const TargetLibraryInfo *TLI, 786 const LoopAccessInfo &getInfo(Loop *L); 798 DenseMap<Loop *, std::unique_ptr<LoopAccessInfo>> LoopAccessInfoMap; 821 typedef LoopAccessInfo Result; 827 const LoopAccessInfo &LAI) const { in getSource() 832 const LoopAccessInfo &LAI) const { in getDestination()
|
| H A D | VectorUtils.h | 755 const LoopAccessInfo *LAI) in InterleavedAccessInfo() 824 const LoopAccessInfo *LAI; 897 return LoopAccessInfo::blockNeedsPredication(BB, TheLoop, DT); in isPredicated()
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Utils/ |
| H A D | LoopVersioning.h | 27 class LoopAccessInfo; variable 47 LoopVersioning(const LoopAccessInfo &LAI, 141 const LoopAccessInfo &LAI;
|
| /llvm-project-15.0.7/llvm/include/llvm/Transforms/Vectorize/ |
| H A D | LoopVectorize.h | 72 class LoopAccessInfo; variable 183 std::function<const LoopAccessInfo &(Loop &)> *GetLAA; 197 std::function<const LoopAccessInfo &(Loop &)> &GetLAA_,
|
| H A D | LoopVectorizationLegality.h | 246 Function *F, std::function<const LoopAccessInfo &(Loop &)> *GetLAA, in LoopVectorizationLegality() 375 const LoopAccessInfo *getLAI() const { return LAI; } in getLAI() 498 std::function<const LoopAccessInfo &(Loop &)> *GetLAA; 502 const LoopAccessInfo *LAI = nullptr;
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Utils/ |
| H A D | LoopVersioning.cpp | 40 LoopVersioning::LoopVersioning(const LoopAccessInfo &LAI, in LoopVersioning() 259 bool runImpl(LoopInfo *LI, function_ref<const LoopAccessInfo &(Loop &)> GetLAA, in runImpl() 278 const LoopAccessInfo &LAI = GetLAA(*L); in runImpl() 304 auto GetLAA = [&](Loop &L) -> const LoopAccessInfo & { in runOnFunction() 358 auto GetLAA = [&](Loop &L) -> const LoopAccessInfo & { in run()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Scalar/ |
| H A D | LoopDistribute.cpp | 329 if (!LoopAccessInfo::blockNeedsPredication(Inst->getParent(), L, DT)) in mergeNonIfConvertible() 505 computePartitionSetForPointers(const LoopAccessInfo &LAI) { in computePartitionSetForPointers() 664 bool processLoop(std::function<const LoopAccessInfo &(Loop &)> &GetLAA) { in processLoop() 955 const LoopAccessInfo *LAI = nullptr; 974 std::function<const LoopAccessInfo &(Loop &)> &GetLAA) { in runImpl() 1022 std::function<const LoopAccessInfo &(Loop &)> GetLAA = in runOnFunction() 1023 [&](Loop &L) -> const LoopAccessInfo & { return LAA->getInfo(&L); }; in runOnFunction() 1057 std::function<const LoopAccessInfo &(Loop &)> GetLAA = in run() 1058 [&](Loop &L) -> const LoopAccessInfo & { in run()
|
| H A D | LoopVersioningLICM.cpp | 150 function_ref<const LoopAccessInfo &(Loop *)> GetLAI) in LoopVersioningLICM() 185 const LoopAccessInfo *LAI = nullptr; 188 function_ref<const LoopAccessInfo &(Loop *)> GetLAI; 588 auto GetLAI = [&](Loop *L) -> const LoopAccessInfo & { in runOnLoop() 674 auto GetLAI = [&](Loop *L) -> const LoopAccessInfo & { in run()
|
| H A D | LoopLoadElimination.cpp | 163 LoadEliminationForLoop(Loop *L, LoopInfo *LI, const LoopAccessInfo &LAI, in LoadEliminationForLoop() 174 findStoreToLoadDependences(const LoopAccessInfo &LAI) { in findStoreToLoadDependences() 599 const LoopAccessInfo &LAI; 612 function_ref<const LoopAccessInfo &(Loop &)> GetLAI) { in eliminateLoadsAcrossLoops() 670 [&LAA](Loop &L) -> const LoopAccessInfo & { return LAA.getInfo(&L); }); in runOnFunction() 727 F, LI, DT, BFI, PSI, &SE, &AC, [&](Loop &L) -> const LoopAccessInfo & { in run()
|
| /llvm-project-15.0.7/llvm/lib/Analysis/ |
| H A D | LoopAccessAnalysis.cpp | 2072 bool LoopAccessInfo::canAnalyzeLoop() { in canAnalyzeLoop() 2106 void LoopAccessInfo::analyzeLoop(AAResults *AA, LoopInfo *LI, in analyzeLoop() 2409 void LoopAccessInfo::emitUnsafeDependenceRemark() { in emitUnsafeDependenceRemark() 2492 bool LoopAccessInfo::isUniform(Value *V) const { in isUniform() 2503 void LoopAccessInfo::collectStridedAccess(Value *MemAccess) { in collectStridedAccess() 2562 LoopAccessInfo::LoopAccessInfo(Loop *L, ScalarEvolution *SE, in LoopAccessInfo() function in LoopAccessInfo 2574 void LoopAccessInfo::print(raw_ostream &OS, unsigned Depth) const { in print() 2621 const LoopAccessInfo &LoopAccessLegacyAnalysis::getInfo(Loop *L) { in getInfo() 2625 LAI = std::make_unique<LoopAccessInfo>(L, SE, TLI, AA, DT, LI); in getInfo() 2674 LoopAccessInfo LoopAccessAnalysis::run(Loop &L, LoopAnalysisManager &AM, in run() [all …]
|
| /llvm-project-15.0.7/llvm/unittests/Transforms/Vectorize/ |
| H A D | VPlanSlpTest.cpp | 29 std::unique_ptr<LoopAccessInfo> LAI; 47 LAI.reset(new LoopAccessInfo(L, &*SE, &TLI, &*AARes, &*DT, &*LI)); in getInterleavedAccessInfo()
|
| /llvm-project-15.0.7/llvm/lib/Transforms/Vectorize/ |
| H A D | LoopVectorizationLegality.cpp | 1078 return LoopAccessInfo::blockNeedsPredication(BB, TheLoop, DT); in blockNeedsPredication()
|
| H A D | LoopVectorize.cpp | 1880 void Create(Loop *L, const LoopAccessInfo &LAI, in Create() 2204 std::function<const LoopAccessInfo &(Loop &)> GetLAA = in runOnFunction() 2205 [&](Loop &L) -> const LoopAccessInfo & { return LAA->getInfo(&L); }; in runOnFunction() 7567 const LoopAccessInfo *LAI = ILV.Legal->getLAI(); in executePlan() 10448 std::function<const LoopAccessInfo &(Loop &)> &GetLAA_, in runImpl() 10528 std::function<const LoopAccessInfo &(Loop &)> GetLAA = in run() 10529 [&](Loop &L) -> const LoopAccessInfo & { in run()
|
| /llvm-project-15.0.7/llvm/lib/Target/ARM/ |
| H A D | ARMTargetTransformInfo.cpp | 2113 const LoopAccessInfo *LAI) { in canTailPredicateLoop()
|