From f46d450f2b91d303a80abd1a65c1c951a7480986 Mon Sep 17 00:00:00 2001 From: Longsheng Mou Date: Tue, 11 Feb 2025 17:05:48 +0800 Subject: [PATCH 1/2] [mlir][docs] Update docs for Greedy Pattern Rewrite Driver The `applyOpPatternsAndFold` is deprecated, use `applyOpPatternsGreedily` instead. --- mlir/docs/PatternRewriter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mlir/docs/PatternRewriter.md b/mlir/docs/PatternRewriter.md index d15e7e5a80678..9df4647299010 100644 --- a/mlir/docs/PatternRewriter.md +++ b/mlir/docs/PatternRewriter.md @@ -361,7 +361,7 @@ This driver comes in two fashions: * `applyPatternsGreedily` ("region-based driver") applies patterns to all ops in a given region or a given container op (but not the container op itself). I.e., the worklist is initialized with all containing ops. -* `applyOpPatternsAndFold` ("op-based driver") applies patterns to the +* `applyOpPatternsGreedily` ("op-based driver") applies patterns to the provided list of operations. I.e., the worklist is initialized with the specified list of ops. From cbc8658fba617229a37fb02e53947a642c3adc6b Mon Sep 17 00:00:00 2001 From: Longsheng Mou Date: Tue, 11 Feb 2025 17:12:13 +0800 Subject: [PATCH 2/2] Update comments --- mlir/lib/Reducer/ReductionTreePass.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/mlir/lib/Reducer/ReductionTreePass.cpp b/mlir/lib/Reducer/ReductionTreePass.cpp index 2d2744bfc2732..ef32adbab5577 100644 --- a/mlir/lib/Reducer/ReductionTreePass.cpp +++ b/mlir/lib/Reducer/ReductionTreePass.cpp @@ -56,13 +56,14 @@ static void applyPatterns(Region ®ion, opsInRange.push_back(&op.value()); } - // `applyOpPatternsAndFold` may erase the ops so we can't do the pattern - // matching in above iteration. Besides, erase op not-in-range may end up in - // invalid module, so `applyOpPatternsAndFold` should come before that - // transform. + // `applyOpPatternsGreedily` with folding may erase the ops so we can't do the + // pattern matching in above iteration. Besides, erase op not-in-range may end + // up in invalid module, so `applyOpPatternsGreedily` with folding should come + // before that transform. for (Operation *op : opsInRange) { - // `applyOpPatternsAndFold` returns whether the op is convered. Omit it - // because we don't have expectation this reduction will be success or not. + // `applyOpPatternsGreedily` with folding returns whether the op is + // convered. Omit it because we don't have expectation this reduction will + // be success or not. GreedyRewriteConfig config; config.strictMode = GreedyRewriteStrictness::ExistingOps; (void)applyOpPatternsGreedily(op, patterns, config);