Home
last modified time | relevance | path

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

123

/external/llvm/include/llvm/Analysis/
DLoopAccessAnalysis.h175 Instruction *getSource(const LoopAccessInfo &LAI) const;
177 Instruction *getDestination(const LoopAccessInfo &LAI) const;
521 LoopAccessInfo(LoopAccessInfo &&LAI) in LoopAccessInfo() argument
522 : PSE(std::move(LAI.PSE)), PtrRtChecking(std::move(LAI.PtrRtChecking)), in LoopAccessInfo()
523 DepChecker(std::move(LAI.DepChecker)), TheLoop(LAI.TheLoop), in LoopAccessInfo()
524 NumLoads(LAI.NumLoads), NumStores(LAI.NumStores), in LoopAccessInfo()
525 MaxSafeDepDistBytes(LAI.MaxSafeDepDistBytes), CanVecMem(LAI.CanVecMem), in LoopAccessInfo()
526 StoreToLoopInvariantAddress(LAI.StoreToLoopInvariantAddress), in LoopAccessInfo()
527 Report(std::move(LAI.Report)), in LoopAccessInfo()
528 SymbolicStrides(std::move(LAI.SymbolicStrides)), in LoopAccessInfo()
[all …]
/external/llvm/lib/Transforms/Scalar/
DLoopLoadElimination.cpp130 LoadEliminationForLoop(Loop *L, LoopInfo *LI, const LoopAccessInfo &LAI, in LoadEliminationForLoop() argument
132 : L(L), LI(LI), LAI(LAI), DT(DT), PSE(LAI.getPSE()) {} in LoadEliminationForLoop()
140 findStoreToLoadDependences(const LoopAccessInfo &LAI) { in findStoreToLoadDependences() argument
143 const auto *Deps = LAI.getDepChecker().getDependences(); in findStoreToLoadDependences()
154 Instruction *Source = Dep.getSource(LAI); in findStoreToLoadDependences()
155 Instruction *Destination = Dep.getDestination(LAI); in findStoreToLoadDependences()
276 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx1).PointerValue; in needsChecking()
278 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx2).PointerValue; in needsChecking()
331 const auto &MemInstrs = LAI.getDepChecker().getMemoryInstructions(); in findPointersWrittenOnForwardingPath()
355 const auto &AllChecks = LAI.getRuntimePointerChecking()->getChecks(); in collectMemchecks()
[all …]
DLoopDistribute.cpp452 computePartitionSetForPointers(const LoopAccessInfo &LAI) { in computePartitionSetForPointers() argument
453 const RuntimePointerChecking *RtPtrCheck = LAI.getRuntimePointerChecking(); in computePartitionSetForPointers()
460 LAI.getInstructionsForAccess(Ptr, RtPtrCheck->Pointers[I].IsWritePtr); in computePartitionSetForPointers()
593 : L(L), F(F), LI(LI), LAI(nullptr), DT(DT), SE(SE) { in LoopDistributeForLoop()
611 LAI = &LAA->getInfo(L); in processLoop()
615 if (LAI->canVectorizeMemory()) in processLoop()
618 auto *Dependences = LAI->getDepChecker().getDependences(); in processLoop()
643 const MemoryDepChecker &DepChecker = LAI->getDepChecker(); in processLoop()
696 const SCEVUnionPredicate &Pred = LAI->getPSE().getUnionPredicate(); in processLoop()
714 auto PtrToPartition = Partitions.computePartitionSetForPointers(*LAI); in processLoop()
[all …]
DLoopVersioningLICM.cpp168 TLI(nullptr), LAA(nullptr), LAI(nullptr), Changed(false), in LoopVersioningLICM()
182 const LoopAccessInfo *LAI; // Current Loop's LoopAccessInfo member
388 LAI = &LAA->getInfo(CurLoop); in legalLoopInstructions()
390 if (LAI->getRuntimePointerChecking()->getChecks().empty()) { in legalLoopInstructions()
395 if (LAI->getNumRuntimePointerChecks() > in legalLoopInstructions()
518 LAI = nullptr; in runOnLoop()
538 LoopVersioning LVer(*LAI, CurLoop, LI, DT, SE, true); in runOnLoop()
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Utils/
DLoopVersioning.cpp34 LoopVersioning::LoopVersioning(const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI, in LoopVersioning() argument
37 : VersionedLoop(L), NonVersionedLoop(nullptr), LAI(LAI), LI(LI), DT(DT), in LoopVersioning()
42 setAliasChecks(LAI.getRuntimePointerChecking()->getChecks()); in LoopVersioning()
43 setSCEVChecks(LAI.getPSE().getUnionPredicate()); in LoopVersioning()
66 LAI.addRuntimeChecks(RuntimeCheckBB->getTerminator(), AliasChecks); in versionLoop()
68 const SCEVUnionPredicate &Pred = LAI.getPSE().getUnionPredicate(); in versionLoop()
177 const RuntimePointerChecking *RtPtrChecking = LAI.getRuntimePointerChecking(); in prepareNoAliasMetadata()
219 for (Instruction *I : LAI.getDepChecker().getMemoryInstructions()) { in annotateLoopWithNoAlias()
284 const LoopAccessInfo &LAI = LAA->getInfo(L); in runOnFunction() local
285 if (L->isLoopSimplifyForm() && !LAI.hasConvergentOp() && in runOnFunction()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Scalar/
DLoopLoadElimination.cpp166 LoadEliminationForLoop(Loop *L, LoopInfo *LI, const LoopAccessInfo &LAI, in LoadEliminationForLoop() argument
169 : L(L), LI(LI), LAI(LAI), DT(DT), BFI(BFI), PSI(PSI), PSE(LAI.getPSE()) {} in LoadEliminationForLoop()
177 findStoreToLoadDependences(const LoopAccessInfo &LAI) { in findStoreToLoadDependences() argument
180 const auto *Deps = LAI.getDepChecker().getDependences(); in findStoreToLoadDependences()
191 Instruction *Source = Dep.getSource(LAI); in findStoreToLoadDependences()
192 Instruction *Destination = Dep.getDestination(LAI); in findStoreToLoadDependences()
314 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx1).PointerValue; in needsChecking()
316 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx2).PointerValue; in needsChecking()
369 const auto &MemInstrs = LAI.getDepChecker().getMemoryInstructions(); in findPointersWrittenOnForwardingPath()
393 const auto &AllChecks = LAI.getRuntimePointerChecking()->getChecks(); in collectMemchecks()
[all …]
DLoopDistribute.cpp507 computePartitionSetForPointers(const LoopAccessInfo &LAI) { in computePartitionSetForPointers() argument
508 const RuntimePointerChecking *RtPtrCheck = LAI.getRuntimePointerChecking(); in computePartitionSetForPointers()
515 LAI.getInstructionsForAccess(Ptr, RtPtrCheck->Pointers[I].IsWritePtr); in computePartitionSetForPointers()
682 LAI = &GetLAA(*L); in processLoop()
686 if (LAI->canVectorizeMemory()) in processLoop()
690 auto *Dependences = LAI->getDepChecker().getDependences(); in processLoop()
715 const MemoryDepChecker &DepChecker = LAI->getDepChecker(); in processLoop()
772 const SCEVUnionPredicate &Pred = LAI->getPSE().getUnionPredicate(); in processLoop()
773 if (LAI->hasConvergentOp() && !Pred.isAlwaysTrue()) { in processLoop()
799 auto PtrToPartition = Partitions.computePartitionSetForPointers(*LAI); in processLoop()
[all …]
DLoopVersioningLICM.cpp177 const LoopAccessInfo *LAI = nullptr; member
405 LAI = &LAA->getInfo(CurLoop); in legalLoopInstructions()
407 if (LAI->getRuntimePointerChecking()->getChecks().empty()) { in legalLoopInstructions()
412 if (LAI->getNumRuntimePointerChecks() > in legalLoopInstructions()
421 << NV("RuntimeChecks", LAI->getNumRuntimePointerChecks()) in legalLoopInstructions()
526 << NV("RuntimeChecks", LAI->getNumRuntimePointerChecks()); in isLegalForVersioning()
585 LAI = nullptr; in runOnLoop()
607 LoopVersioning LVer(*LAI, CurLoop, LI, DT, SE, true); in runOnLoop()
DLoopAccessAnalysisPrinter.cpp19 auto &LAI = AM.getResult<LoopAccessAnalysis>(L, AR); in run() local
22 LAI.print(OS, 4); in run()
/external/llvm/lib/Transforms/Utils/
DLoopVersioning.cpp33 LoopVersioning::LoopVersioning(const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI, in LoopVersioning() argument
36 : VersionedLoop(L), NonVersionedLoop(nullptr), LAI(LAI), LI(LI), DT(DT), in LoopVersioning()
41 setAliasChecks(LAI.getRuntimePointerChecking()->getChecks()); in LoopVersioning()
42 setSCEVChecks(LAI.getPSE().getUnionPredicate()); in LoopVersioning()
65 LAI.addRuntimeChecks(RuntimeCheckBB->getTerminator(), AliasChecks); in versionLoop()
67 const SCEVUnionPredicate &Pred = LAI.getPSE().getUnionPredicate(); in versionLoop()
173 const RuntimePointerChecking *RtPtrChecking = LAI.getRuntimePointerChecking(); in prepareNoAliasMetadata()
215 for (Instruction *I : LAI.getDepChecker().getMemoryInstructions()) { in annotateLoopWithNoAlias()
280 const LoopAccessInfo &LAI = LAA->getInfo(L); in runOnFunction() local
281 if (LAI.getNumRuntimePointerChecks() || in runOnFunction()
[all …]
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Vectorize/
DLoopVectorizationLegality.h292 return LAI->getRuntimePointerChecking(); in getRuntimePointerChecking()
295 const LoopAccessInfo *getLAI() const { return LAI; } in getLAI()
297 unsigned getMaxSafeDepDistBytes() { return LAI->getMaxSafeDepDistBytes(); } in getMaxSafeDepDistBytes()
300 return LAI->getDepChecker().getMaxSafeRegisterWidth(); in getMaxSafeRegisterWidth()
303 bool hasStride(Value *V) { return LAI->hasStride(V); } in hasStride()
309 unsigned getNumStores() const { return LAI->getNumStores(); } in getNumStores()
310 unsigned getNumLoads() const { return LAI->getNumLoads(); } in getNumLoads()
382 return LAI ? &LAI->getSymbolicStrides() : nullptr; in getSymbolicStrides()
412 const LoopAccessInfo *LAI = nullptr; variable
/external/llvm-project/llvm/lib/Transforms/Utils/
DLoopVersioning.cpp40 LoopVersioning::LoopVersioning(const LoopAccessInfo &LAI, in LoopVersioning() argument
46 Preds(LAI.getPSE().getUnionPredicate()), LAI(LAI), LI(LI), DT(DT), in LoopVersioning()
61 const auto &RtPtrChecking = *LAI.getRuntimePointerChecking(); in versionLoop()
179 const RuntimePointerChecking *RtPtrChecking = LAI.getRuntimePointerChecking(); in prepareNoAliasMetadata()
220 for (Instruction *I : LAI.getDepChecker().getMemoryInstructions()) { in annotateLoopWithNoAlias()
272 const LoopAccessInfo &LAI = GetLAA(*L); in runImpl() local
273 if (L->isLoopSimplifyForm() && !LAI.hasConvergentOp() && in runImpl()
274 (LAI.getNumRuntimePointerChecks() || in runImpl()
275 !LAI.getPSE().getUnionPredicate().isAlwaysTrue())) { in runImpl()
276 LoopVersioning LVer(LAI, LAI.getRuntimePointerChecking()->getChecks(), L, in runImpl()
/external/llvm-project/llvm/lib/Transforms/Scalar/
DLoopLoadElimination.cpp167 LoadEliminationForLoop(Loop *L, LoopInfo *LI, const LoopAccessInfo &LAI, in LoadEliminationForLoop() argument
170 : L(L), LI(LI), LAI(LAI), DT(DT), BFI(BFI), PSI(PSI), PSE(LAI.getPSE()) {} in LoadEliminationForLoop()
178 findStoreToLoadDependences(const LoopAccessInfo &LAI) { in findStoreToLoadDependences() argument
181 const auto *Deps = LAI.getDepChecker().getDependences(); in findStoreToLoadDependences()
192 Instruction *Source = Dep.getSource(LAI); in findStoreToLoadDependences()
193 Instruction *Destination = Dep.getDestination(LAI); in findStoreToLoadDependences()
315 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx1).PointerValue; in needsChecking()
317 LAI.getRuntimePointerChecking()->getPointerInfo(PtrIdx2).PointerValue; in needsChecking()
370 const auto &MemInstrs = LAI.getDepChecker().getMemoryInstructions(); in findPointersWrittenOnForwardingPath()
392 const auto &AllChecks = LAI.getRuntimePointerChecking()->getChecks(); in collectMemchecks()
[all …]
DLoopDistribute.cpp507 computePartitionSetForPointers(const LoopAccessInfo &LAI) { in computePartitionSetForPointers() argument
508 const RuntimePointerChecking *RtPtrCheck = LAI.getRuntimePointerChecking(); in computePartitionSetForPointers()
515 LAI.getInstructionsForAccess(Ptr, RtPtrCheck->Pointers[I].IsWritePtr); in computePartitionSetForPointers()
682 LAI = &GetLAA(*L); in processLoop()
686 if (LAI->canVectorizeMemory()) in processLoop()
690 auto *Dependences = LAI->getDepChecker().getDependences(); in processLoop()
715 const MemoryDepChecker &DepChecker = LAI->getDepChecker(); in processLoop()
772 const SCEVUnionPredicate &Pred = LAI->getPSE().getUnionPredicate(); in processLoop()
773 if (LAI->hasConvergentOp() && !Pred.isAlwaysTrue()) { in processLoop()
793 auto PtrToPartition = Partitions.computePartitionSetForPointers(*LAI); in processLoop()
[all …]
DLoopVersioningLICM.cpp187 const LoopAccessInfo *LAI = nullptr; member
418 LAI = &GetLAI(CurLoop); in legalLoopInstructions()
420 if (LAI->getRuntimePointerChecking()->getChecks().empty()) { in legalLoopInstructions()
425 if (LAI->getNumRuntimePointerChecks() > in legalLoopInstructions()
434 << NV("RuntimeChecks", LAI->getNumRuntimePointerChecks()) in legalLoopInstructions()
539 << NV("RuntimeChecks", LAI->getNumRuntimePointerChecks()); in isLegalForVersioning()
625 LoopVersioning LVer(*LAI, LAI->getRuntimePointerChecking()->getChecks(), in runOnLoop()
DLoopAccessAnalysisPrinter.cpp19 auto &LAI = AM.getResult<LoopAccessAnalysis>(L, AR); in run() local
22 LAI.print(OS, 4); in run()
/external/llvm-project/llvm/include/llvm/Transforms/Vectorize/
DLoopVectorizationLegality.h323 return LAI->getRuntimePointerChecking(); in getRuntimePointerChecking()
326 const LoopAccessInfo *getLAI() const { return LAI; } in getLAI()
328 unsigned getMaxSafeDepDistBytes() { return LAI->getMaxSafeDepDistBytes(); } in getMaxSafeDepDistBytes()
331 return LAI->getDepChecker().getMaxSafeVectorWidthInBits(); in getMaxSafeVectorWidthInBits()
334 bool hasStride(Value *V) { return LAI->hasStride(V); } in hasStride()
340 unsigned getNumStores() const { return LAI->getNumStores(); } in getNumStores()
341 unsigned getNumLoads() const { return LAI->getNumLoads(); } in getNumLoads()
425 return LAI ? &LAI->getSymbolicStrides() : nullptr; in getSymbolicStrides()
455 const LoopAccessInfo *LAI = nullptr; variable
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Analysis/
DVectorUtils.h564 const LoopAccessInfo *LAI) in InterleavedAccessInfo() argument
565 : PSE(PSE), TheLoop(L), DT(DT), LI(LI), LAI(LAI) {} in InterleavedAccessInfo()
627 const LoopAccessInfo *LAI; variable
705 return LAI && LAI->getDepChecker().getDependences(); in areDependencesValid()
764 auto *Deps = LAI->getDepChecker().getDependences(); in collectDependences()
766 Dependences[Dep.getSource(*LAI)].insert(Dep.getDestination(*LAI)); in collectDependences()
DLoopAccessAnalysis.h156 Instruction *getSource(const LoopAccessInfo &LAI) const;
158 Instruction *getDestination(const LoopAccessInfo &LAI) const;
777 const LoopAccessInfo &LAI) const { in getSource() argument
778 return LAI.getDepChecker().getMemoryInstructions()[Source]; in getSource()
782 const LoopAccessInfo &LAI) const { in getDestination() argument
783 return LAI.getDepChecker().getMemoryInstructions()[Destination]; in getDestination()
/external/llvm-project/llvm/include/llvm/Analysis/
DVectorUtils.h738 const LoopAccessInfo *LAI) in InterleavedAccessInfo() argument
739 : PSE(PSE), TheLoop(L), DT(DT), LI(LI), LAI(LAI) {} in InterleavedAccessInfo()
809 const LoopAccessInfo *LAI; variable
887 return LAI && LAI->getDepChecker().getDependences(); in areDependencesValid()
946 auto *Deps = LAI->getDepChecker().getDependences(); in collectDependences()
948 Dependences[Dep.getSource(*LAI)].insert(Dep.getDestination(*LAI)); in collectDependences()
DLoopAccessAnalysis.h151 Instruction *getSource(const LoopAccessInfo &LAI) const;
153 Instruction *getDestination(const LoopAccessInfo &LAI) const;
756 const LoopAccessInfo &LAI) const { in getSource() argument
757 return LAI.getDepChecker().getMemoryInstructions()[Source]; in getSource()
761 const LoopAccessInfo &LAI) const { in getDestination() argument
762 return LAI.getDepChecker().getMemoryInstructions()[Destination]; in getDestination()
/external/llvm/include/llvm/Transforms/Utils/
DLoopVersioning.h42 LoopVersioning(const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI,
145 const LoopAccessInfo &LAI; variable
/external/swiftshader/third_party/llvm-10.0/llvm/include/llvm/Transforms/Utils/
DLoopVersioning.h41 LoopVersioning(const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI,
144 const LoopAccessInfo &LAI; variable
/external/llvm-project/llvm/include/llvm/Transforms/Utils/
DLoopVersioning.h46 LoopVersioning(const LoopAccessInfo &LAI,
140 const LoopAccessInfo &LAI; variable
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/
DLoopVectorizationLegality.cpp420 return LAI->isUniform(V); in isUniform()
840 LAI = &(*GetLAA)(*TheLoop); in canVectorizeMemory()
841 const OptimizationRemarkAnalysis *LAR = LAI->getReport(); in canVectorizeMemory()
848 if (!LAI->canVectorizeMemory()) in canVectorizeMemory()
851 if (LAI->hasDependenceInvolvingLoopInvariantAddress()) { in canVectorizeMemory()
857 Requirements->addRuntimePointerChecks(LAI->getNumRuntimePointerChecks()); in canVectorizeMemory()
858 PSE.addPredicate(LAI->getPSE().getUnionPredicate()); in canVectorizeMemory()
1171 << (LAI->getRuntimePointerChecking()->Need in canVectorize()

123