diff --git a/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp b/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp --- a/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp +++ b/mlir/lib/Dialect/Linalg/Transforms/Loops.cpp @@ -590,22 +590,6 @@ } }; -struct FoldAffineOp; -} // namespace - -template -static void lowerLinalgToLoopsImpl(FuncOp funcOp) { - MLIRContext *context = funcOp.getContext(); - RewritePatternSet patterns(context); - patterns.add>(context); - memref::DimOp::getCanonicalizationPatterns(patterns, context); - AffineApplyOp::getCanonicalizationPatterns(patterns, context); - patterns.add(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 @@ } }; +template +static void lowerLinalgToLoopsImpl(FuncOp funcOp) { + MLIRContext *context = funcOp.getContext(); + RewritePatternSet patterns(context); + patterns.add>(context); + memref::DimOp::getCanonicalizationPatterns(patterns, context); + AffineApplyOp::getCanonicalizationPatterns(patterns, context); + patterns.add(context); + // Just apply the patterns greedily. + (void)applyPatternsAndFoldGreedily(funcOp, std::move(patterns)); +} + struct LowerToAffineLoops : public LinalgLowerToAffineLoopsBase { void getDependentDialects(DialectRegistry ®istry) const override {