[Mlir-commits] [mlir] [mlir] Update docs for Greedy Pattern Rewrite Driver(NFC) (PR #126701)

Longsheng Mou llvmlistbot at llvm.org
Tue Feb 11 01:17:06 PST 2025


https://github.com/CoTinker created https://github.com/llvm/llvm-project/pull/126701

The `applyOpPatternsAndFold` is deprecated, use `applyOpPatternsGreedily` instead.

>From f46d450f2b91d303a80abd1a65c1c951a7480986 Mon Sep 17 00:00:00 2001
From: Longsheng Mou <longshengmou at gmail.com>
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 d15e7e5a80678e3..9df46472990101e 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 <longshengmou at gmail.com>
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 2d2744bfc2732d9..ef32adbab557769 100644
--- a/mlir/lib/Reducer/ReductionTreePass.cpp
+++ b/mlir/lib/Reducer/ReductionTreePass.cpp
@@ -56,13 +56,14 @@ static void applyPatterns(Region &region,
       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);



More information about the Mlir-commits mailing list