Home
last modified time | relevance | path

Searched refs:LoopNest (Results 1 – 17 of 17) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Analysis/
H A DLoopNestAnalysis.cpp42 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 DDependenceAnalysis.cpp859 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 DLoopInfo.cpp404 if (&LoopNest::skipEmptyBlockUntil(ExitFromLatch, GuardOtherSucc, in getLoopGuardBranch()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLoopNestAnalysis.h28 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 DDependenceAnalysis.h544 /// 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 DLoopInterchange.h18 class LoopNest; variable
21 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &AM,
H A DLoopFlatten.h21 class LoopNest; variable
27 PreservedAnalyses run(LoopNest &LN, LoopAnalysisManager &LAM,
H A DLoopUnrollAndJamPass.h17 class LoopNest; variable
25 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &AM,
H A DLICM.h43 class LoopNest; variable
94 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &AM,
H A DLoopPassManager.h124 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 DLoopPassManager.cpp81 // `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 DLoopUnrollAndJamPass.cpp424 static bool tryToUnrollAndJamLoop(LoopNest &LN, DominatorTree &DT, LoopInfo &LI, in tryToUnrollAndJamLoop()
452 PreservedAnalyses LoopUnrollAndJamPass::run(LoopNest &LN, in run()
H A DLoopInterchange.cpp385 bool run(LoopNest &LN) { in run()
585 LoopNest::skipEmptyBlockUntil(InnerLoopExit, OuterLoopLatch); in tightlyNested()
1711 PreservedAnalyses LoopInterchangePass::run(LoopNest &LN, in run()
H A DLoopFlatten.cpp995 PreservedAnalyses LoopFlattenPass::run(LoopNest &LN, LoopAnalysisManager &LAM, in run()
H A DLICM.cpp327 PreservedAnalyses LNICMPass::run(LoopNest &LN, LoopAnalysisManager &AM, in run()
/freebsd/contrib/llvm-project/llvm/include/llvm/Passes/
H A DPassBuilder.h915 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &, in run()
/freebsd/contrib/llvm-project/llvm/lib/Frontend/OpenMP/
H A DOMPIRBuilder.cpp5482 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()