/llvm-project/llvm/lib/Analysis/ |
H A D | LoopNestAnalysis.cpp | 39 // LoopNest implementation 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 [all...] |
H A D | DependenceAnalysis.cpp | 858 // Returns true if Expression is loop invariant in LoopNest. in isLoopInvariant() 860 const Loop *LoopNest) const { in isLoopInvariant() 865 if (!LoopNest) in isLoopInvariant() 870 return SE->isLoopInvariant(Expression, LoopNest->getOutermostLoop()); in isLoopInvariant() 875 // Finds the set of loops from the LoopNest that 878 const Loop *LoopNest, in collectCommonLoops() 880 while (LoopNest) { in collectCommonLoops() 881 unsigned Level = LoopNest->getLoopDepth(); in collectCommonLoops() 882 if (Level <= CommonLevels && !SE->isLoopInvariant(Expression, LoopNest)) in collectCommonLoops() 884 LoopNest in collectCommonLoops() 877 collectCommonLoops(const SCEV * Expression,const Loop * LoopNest,SmallBitVector & Loops) const collectCommonLoops() argument 962 checkSubscript(const SCEV * Expr,const Loop * LoopNest,SmallBitVector & Loops,bool IsSrc) checkSubscript() argument 1000 checkSrcSubscript(const SCEV * Src,const Loop * LoopNest,SmallBitVector & Loops) checkSrcSubscript() argument 1007 checkDstSubscript(const SCEV * Dst,const Loop * LoopNest,SmallBitVector & Loops) checkDstSubscript() argument [all...] |
/llvm-project/llvm/include/llvm/Analysis/ |
H A D | LoopNestAnalysis.h | 28 class LLVM_ABI 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 | 545 bool isLoopInvariant(const SCEV *Expression, const Loop *LoopNest) const; 562 const Loop *LoopNest, 568 const Loop *LoopNest, 574 const Loop *LoopNest, 973 bool checkSubscript(const SCEV *Expr, const Loop *LoopNest,
|
/llvm-project/mlir/include/mlir/Dialect/SCF/IR/ |
H A D | SCF.h | 66 struct LoopNest { 84 /// only the zero-operand terminator. Returns the LoopNest containing the list 89 LoopNest buildLoopNest( 99 LoopNest buildLoopNest(OpBuilder &builder, Location loc, ValueRange lbs, 72 struct LoopNest { global() struct 90 resultsLoopNest global() argument
|
/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() 367 // Get the loop in case of Loop pass and outermost loop in case of LoopNest
|
/llvm-project/llvm/unittests/Analysis/ |
H A D | LoopNestTest.cpp | 94 LoopNest LN(*L, SE); in TEST() 190 LoopNest LN(*L, SE); in TEST() 276 LoopNest LN(*L, SE); in TEST() 303 const LoopNest::InstrVectorTy InstrV = in TEST()
|
/llvm-project/mlir/lib/Dialect/SCF/Transforms/ |
H A D | ForallToFor.cpp | 26 using scf::LoopNest; 38 LoopNest loopNest = scf::buildLoopNest(rewriter, loc, lbs, ubs, steps); in forallToForLoop()
|
/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopPassManager.cpp | 80 // `LoopNestPtr` points to the `LoopNest` object for the current top-level in runWithLoopNestPasses() 82 // The `LoopNest` object will have to be re-constructed if the pointer is in runWithLoopNestPasses() 84 std::unique_ptr<LoopNest> LoopNestPtr; in runWithLoopNestPasses() 107 LoopNestPtr = LoopNest::getLoopNest(*OuterMostLoop, AR.SE); in runWithLoopNestPasses()
|
H A D | LoopUnrollAndJamPass.cpp | 423 static bool tryToUnrollAndJamLoop(LoopNest &LN, DominatorTree &DT, LoopInfo &LI, 451 PreservedAnalyses LoopUnrollAndJamPass::run(LoopNest &LN,
|
H A D | LoopInterchange.cpp | 426 bool run(LoopNest &LN) { in processLoopList() 621 LoopNest::skipEmptyBlockUntil(InnerLoopExit, OuterLoopLatch); in isLoopStructureUnderstood() 1748 PreservedAnalyses LoopInterchangePass::run(LoopNest &LN,
|
H A D | LoopFlatten.cpp | 995 PreservedAnalyses LoopFlattenPass::run(LoopNest &LN, LoopAnalysisManager &LAM, in run()
|
/llvm-project/llvm/unittests/IR/ |
H A D | PassBuilderCallbacksTest.cpp | 176 struct MockPassHandle<LoopNest> 177 : MockPassHandleBase<MockPassHandle<LoopNest>, LoopNest, 181 PreservedAnalyses(LoopNest &, LoopAnalysisManager &, 183 static void invalidateLoopNest(LoopNest &L, LoopAnalysisManager &, in invalidateLoopNest() 404 std::conditional_t<std::is_same_v<IRUnitT, Loop>, MockPassHandle<LoopNest>, 849 runBeforePass(HasNameRegex("MockPassHandle<.*LoopNest>"), in TEST_F() 854 HasNameRegex("MockPassHandle<.*LoopNest>"), HasName("loop"))) in TEST_F() 857 runAfterPass(HasNameRegex("MockPassHandle<.*LoopNest>"), in TEST_F() 939 [&](LoopNest in TEST_F() 943 __anon51161aa70e02(LoopNest &, LoopAnalysisManager &, LoopStandardAnalysisResults &, LPMUpdater &) TEST_F() argument [all...] |
/llvm-project/flang/include/flang/Optimizer/Builder/ |
H A D | HLFIRTools.h | 360 struct LoopNest { 373 LoopNest genLoopNest(mlir::Location loc, fir::FirOpBuilder &builder, 376 inline LoopNest genLoopNest(mlir::Location loc, fir::FirOpBuilder &builder, 359 struct LoopNest { global() struct 368 oneBasedIndicesLoopNest global() argument
|
/llvm-project/llvm/test/Other/ |
H A D | print-passes.ll | 21 ; CHECK: LoopNest passes:
|
/llvm-project/flang/lib/Optimizer/HLFIR/Transforms/ |
H A D | LowerHLFIROrderedAssignments.cpp | 193 std::optional<hlfir::LoopNest> vectorSubscriptLoopNest; 277 std::optional<hlfir::LoopNest> whereLoopNest; 447 std::optional<hlfir::LoopNest> elementalLoopNest; in pre() 461 std::optional<hlfir::LoopNest> elementalLoopNest; in pre()
|
H A D | OptimizedBufferization.cpp | 692 hlfir::LoopNest loopNest = in generateReductionLoop() 764 hlfir::LoopNest loopNest = in matchAndRewrite()
|
/llvm-project/mlir/test/lib/Dialect/Tensor/ |
H A D | TestTensorTransforms.cpp | 234 scf::LoopNest nest = scf::buildLoopNest( in emitReplacement()
|
/llvm-project/mlir/lib/Dialect/Linalg/Utils/ |
H A D | Utils.cpp | 292 LoopNest loopNest = mlir::scf::buildLoopNest( in makeMemRefCopyOp() 393 LoopNest singleLoop = buildLoopNest( in updateBoundsForCyclicDistribution()
|
/llvm-project/llvm/include/llvm/Passes/ |
H A D | PassBuilder.h | 943 PreservedAnalyses run(LoopNest &L, LoopAnalysisManager &, in run()
|
/llvm-project/llvm/unittests/Transforms/Scalar/ |
H A D | LoopPassManagerTest.cpp | 196 : MockPassHandleBase<MockLoopNestPassHandle, LoopNest, LoopAnalysisManager, 199 PreservedAnalyses(LoopNest &, LoopAnalysisManager &,
|