/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | LoopNestAnalysis.cpp | 42 LoopNest::LoopNest(Loop &Root, ScalarEvolution &SE) in LoopNest() function in LoopNest 47 std::unique_ptr<LoopNest> LoopNest::getLoopNest(Loop &Root, in getLoopNest() 49 return std::make_unique<LoopNest>(Root, SE); in getLoopNest() 103 bool LoopNest::arePerfectlyNested(const Loop &OuterLoop, const Loop &InnerLoop, in arePerfectlyNested() 109 LoopNest::LoopNestEnum LoopNest::analyzeLoopNestForPerfectNest( in analyzeLoopNestForPerfectNest() 181 LoopNest::InstrVectorTy LoopNest::getInterveningInstructions( in getInterveningInstructions() 241 LoopNest::getPerfectLoops(ScalarEvolution &SE) const { in getPerfectLoops() 261 unsigned LoopNest::getMaxPerfectDepth(const Loop &Root, ScalarEvolution &SE) { in getMaxPerfectDepth() 288 const BasicBlock &LoopNest::skipEmptyBlockUntil(const BasicBlock *From, in skipEmptyBlockUntil() 363 LoopNest::skipEmptyBlockUntil(OuterLoopHeader, InnerLoopPreHeader); in checkLoopsStructure() [all …]
|
H A D | DependenceAnalysis.cpp | 859 const Loop *LoopNest) const { in isLoopInvariant() 864 if (!LoopNest) in isLoopInvariant() 869 return SE->isLoopInvariant(Expression, LoopNest->getOutermostLoop()); in isLoopInvariant() 877 const Loop *LoopNest, in collectCommonLoops() argument 879 while (LoopNest) { in collectCommonLoops() 880 unsigned Level = LoopNest->getLoopDepth(); in collectCommonLoops() 881 if (Level <= CommonLevels && !SE->isLoopInvariant(Expression, LoopNest)) in collectCommonLoops() 883 LoopNest = LoopNest->getParentLoop(); in collectCommonLoops() 962 bool DependenceInfo::checkSubscript(const SCEV *Expr, const Loop *LoopNest, in checkSubscript() argument 966 return isLoopInvariant(Expr, LoopNest); in checkSubscript() [all …]
|
H A D | LoopInfo.cpp | 404 if (&LoopNest::skipEmptyBlockUntil(ExitFromLatch, GuardOtherSucc, in getLoopGuardBranch()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | LoopNestAnalysis.h | 28 class LLVM_EXTERNAL_VISIBILITY LoopNest { 33 LoopNest(Loop &Root, ScalarEvolution &SE); 35 LoopNest() = delete; 37 /// Construct a LoopNest object. 38 static std::unique_ptr<LoopNest> getLoopNest(Loop &Root, ScalarEvolution &SE); 54 /// Return a vector of instructions that prevent the LoopNest given 198 raw_ostream &operator<<(raw_ostream &, const LoopNest &); 207 using Result = LoopNest; 211 /// Printer pass for the \c LoopNest results.
|
H A D | DependenceAnalysis.h | 544 /// in LoopNest. 545 bool isLoopInvariant(const SCEV *Expression, const Loop *LoopNest) const; 559 /// collectCommonLoops - Finds the set of loops from the LoopNest that 562 const Loop *LoopNest, 568 const Loop *LoopNest, 574 const Loop *LoopNest, 973 bool checkSubscript(const SCEV *Expr, const Loop *LoopNest,
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/ |
H A D | LoopInterchange.h | 18 class LoopNest; variable 21 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &AM,
|
H A D | LoopFlatten.h | 21 class LoopNest; variable 27 PreservedAnalyses run(LoopNest &LN, LoopAnalysisManager &LAM,
|
H A D | LoopUnrollAndJamPass.h | 17 class LoopNest; variable 25 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &AM,
|
H A D | LICM.h | 43 class LoopNest; variable 94 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &AM,
|
H A D | LoopPassManager.h | 124 detail::PassModel<LoopNest, PassT, LoopAnalysisManager, in addPass() 145 detail::PassConcept<LoopNest, LoopAnalysisManager, 172 static const Loop &getLoopFromIR(LoopNest &LN) { in getLoopFromIR()
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopPassManager.cpp | 81 // `LoopNestPtr` points to the `LoopNest` object for the current top-level in runWithLoopNestPasses() 83 // The `LoopNest` object will have to be re-constructed if the pointer is in runWithLoopNestPasses() 85 std::unique_ptr<LoopNest> LoopNestPtr; in runWithLoopNestPasses() 108 LoopNestPtr = LoopNest::getLoopNest(*OuterMostLoop, AR.SE); in runWithLoopNestPasses() 273 llvm::any_cast<const LoopNest *>(&IR)); in run() 277 L = &llvm::any_cast<const LoopNest *>(IR)->getOutermostLoop(); in run()
|
H A D | LoopUnrollAndJamPass.cpp | 424 static bool tryToUnrollAndJamLoop(LoopNest &LN, DominatorTree &DT, LoopInfo &LI, in tryToUnrollAndJamLoop() 452 PreservedAnalyses LoopUnrollAndJamPass::run(LoopNest &LN, in run()
|
H A D | LoopInterchange.cpp | 385 bool run(LoopNest &LN) { in run() 585 LoopNest::skipEmptyBlockUntil(InnerLoopExit, OuterLoopLatch); in tightlyNested() 1711 PreservedAnalyses LoopInterchangePass::run(LoopNest &LN, in run()
|
H A D | LoopFlatten.cpp | 995 PreservedAnalyses LoopFlattenPass::run(LoopNest &LN, LoopAnalysisManager &LAM, in run()
|
H A D | LICM.cpp | 327 PreservedAnalyses LNICMPass::run(LoopNest &LN, LoopAnalysisManager &AM, in run()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Passes/ |
H A D | PassBuilder.h | 915 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &, in run()
|
/freebsd/contrib/llvm-project/llvm/lib/Frontend/OpenMP/ |
H A D | OMPIRBuilder.cpp | 5482 std::vector<CanonicalLoopInfo *> LoopNest = in unrollLoopPartial() local 5484 assert(LoopNest.size() == 2 && "Expect 2 loops after tiling"); in unrollLoopPartial() 5485 *UnrolledCLI = LoopNest[0]; in unrollLoopPartial() 5486 CanonicalLoopInfo *InnerLoop = LoopNest[1]; in unrollLoopPartial()
|