/external/llvm/include/llvm/Analysis/ |
D | LoopAccessAnalysis.h | 175 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/ |
D | LoopLoadElimination.cpp | 130 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 …]
|
D | LoopDistribute.cpp | 452 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 …]
|
D | LoopVersioningLICM.cpp | 168 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/ |
D | LoopVersioning.cpp | 34 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/ |
D | LoopLoadElimination.cpp | 166 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 …]
|
D | LoopDistribute.cpp | 507 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 …]
|
D | LoopVersioningLICM.cpp | 177 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()
|
D | LoopAccessAnalysisPrinter.cpp | 19 auto &LAI = AM.getResult<LoopAccessAnalysis>(L, AR); in run() local 22 LAI.print(OS, 4); in run()
|
/external/llvm/lib/Transforms/Utils/ |
D | LoopVersioning.cpp | 33 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/ |
D | LoopVectorizationLegality.h | 292 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/ |
D | LoopVersioning.cpp | 40 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/ |
D | LoopLoadElimination.cpp | 167 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 …]
|
D | LoopDistribute.cpp | 507 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 …]
|
D | LoopVersioningLICM.cpp | 187 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()
|
D | LoopAccessAnalysisPrinter.cpp | 19 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/ |
D | LoopVectorizationLegality.h | 323 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/ |
D | VectorUtils.h | 564 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()
|
D | LoopAccessAnalysis.h | 156 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/ |
D | VectorUtils.h | 738 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()
|
D | LoopAccessAnalysis.h | 151 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/ |
D | LoopVersioning.h | 42 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/ |
D | LoopVersioning.h | 41 LoopVersioning(const LoopAccessInfo &LAI, Loop *L, LoopInfo *LI, 144 const LoopAccessInfo &LAI; variable
|
/external/llvm-project/llvm/include/llvm/Transforms/Utils/ |
D | LoopVersioning.h | 46 LoopVersioning(const LoopAccessInfo &LAI, 140 const LoopAccessInfo &LAI; variable
|
/external/swiftshader/third_party/llvm-10.0/llvm/lib/Transforms/Vectorize/ |
D | LoopVectorizationLegality.cpp | 420 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()
|