[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 ®istry) const override {
More information about the Mlir-commits
mailing list