[Mlir-commits] [mlir] 456efbc - [MLIR][Linalg] Avoid forward declaration in `Loops.cpp`

Frederik Gossen llvmlistbot at llvm.org
Mon May 3 12:07:22 PDT 2021


Author: Frederik Gossen
Date: 2021-05-03T21:06:50+02:00
New Revision: 456efbc0f14d8d145d19eaa046f3c1b49b1bf4c8

URL: https://github.com/llvm/llvm-project/commit/456efbc0f14d8d145d19eaa046f3c1b49b1bf4c8
DIFF: https://github.com/llvm/llvm-project/commit/456efbc0f14d8d145d19eaa046f3c1b49b1bf4c8.diff

LOG: [MLIR][Linalg] Avoid forward declaration in `Loops.cpp`

Differential Revision: https://reviews.llvm.org/D101771

Added: 
    

Modified: 
    mlir/lib/Dialect/Linalg/Transforms/Loops.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp b/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
index f03e590bbde3..aa0297fdab7d 100644
--- a/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
+++ b/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
@@ -590,22 +590,6 @@ struct TiledLoopToSCFPattern : public OpRewritePattern<TiledLoopOp> {
   }
 };
 
-struct FoldAffineOp;
-} // namespace
-
-template <typename LoopType>
-static void lowerLinalgToLoopsImpl(FuncOp funcOp) {
-  MLIRContext *context = funcOp.getContext();
-  RewritePatternSet patterns(context);
-  patterns.add<LinalgRewritePattern<LoopType>>(context);
-  memref::DimOp::getCanonicalizationPatterns(patterns, context);
-  AffineApplyOp::getCanonicalizationPatterns(patterns, context);
-  patterns.add<FoldAffineOp>(context);
-  // Just apply the patterns greedily.
-  (void)applyPatternsAndFoldGreedily(funcOp, std::move(patterns));
-}
-
-namespace {
 /// Local folding pattern for AffineApplyOp that we can apply greedily.
 /// This replaces AffineApplyOp by the proper value in cases where the
 /// associated map is trivial.
@@ -643,6 +627,18 @@ struct FoldAffineOp : public RewritePattern {
   }
 };
 
+template <typename LoopType>
+static void lowerLinalgToLoopsImpl(FuncOp funcOp) {
+  MLIRContext *context = funcOp.getContext();
+  RewritePatternSet patterns(context);
+  patterns.add<LinalgRewritePattern<LoopType>>(context);
+  memref::DimOp::getCanonicalizationPatterns(patterns, context);
+  AffineApplyOp::getCanonicalizationPatterns(patterns, context);
+  patterns.add<FoldAffineOp>(context);
+  // Just apply the patterns greedily.
+  (void)applyPatternsAndFoldGreedily(funcOp, std::move(patterns));
+}
+
 struct LowerToAffineLoops
     : public LinalgLowerToAffineLoopsBase<LowerToAffineLoops> {
   void getDependentDialects(DialectRegistry &registry) const override {


        


More information about the Mlir-commits mailing list