Author: Aiden Grossman
Date: 2026-05-08T09:09:50-07:00
New Revision: 28b1ebc656b26c826b035b9f58e282f7b5a86077

URL: 
https://github.com/llvm/llvm-project/commit/28b1ebc656b26c826b035b9f58e282f7b5a86077
DIFF: 
https://github.com/llvm/llvm-project/commit/28b1ebc656b26c826b035b9f58e282f7b5a86077.diff

LOG: Revert "[mlir][core] in -mlir-print-ir-*, dump the pass options as well 
(#195…"

This reverts commit 11e91bdcc6e1ddc81d95fa592e09728d4b346f2b.

Added: 
    

Modified: 
    mlir/lib/Pass/IRPrinting.cpp
    mlir/test/Pass/dynamic-pipeline-nested.mlir
    mlir/test/Pass/dynamic-pipeline.mlir
    mlir/test/Pass/ir-printing.mlir
    mlir/test/Pass/run-reproducer.mlir
    mlir/test/python/pass_manager.py

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Pass/IRPrinting.cpp b/mlir/lib/Pass/IRPrinting.cpp
index 032d4f7e2d67d..c11dbc627c0be 100644
--- a/mlir/lib/Pass/IRPrinting.cpp
+++ b/mlir/lib/Pass/IRPrinting.cpp
@@ -48,6 +48,18 @@ class IRPrinterInstrumentation : public PassInstrumentation {
 
 static void printIR(Operation *op, bool printModuleScope, raw_ostream &out,
                     OpPrintingFlags flags) {
+  // Otherwise, check to see if we are not printing at module scope.
+  if (!printModuleScope)
+    return op->print(out << " //----- //\n",
+                     op->getBlock() ? flags.useLocalScope() : flags);
+
+  // Otherwise, we are printing at module scope.
+  out << " ('" << op->getName() << "' operation";
+  if (auto symbolName =
+          op->getAttrOfType<StringAttr>(SymbolTable::getSymbolAttrName()))
+    out << ": @" << symbolName.getValue();
+  out << ") //----- //\n";
+
   // Find the top-level operation.
   auto *topLevelOp = op;
   while (auto *parentOp = topLevelOp->getParentOp())
@@ -55,24 +67,6 @@ static void printIR(Operation *op, bool printModuleScope, 
raw_ostream &out,
   topLevelOp->print(out, flags);
 }
 
-static void printIRHeader(raw_ostream &out, StringRef title, Pass *pass,
-                          Operation *op, bool printModuleScope,
-                          bool failed = false) {
-  out << "// -----// IR Dump " << title << " " << pass->getName();
-  if (failed)
-    out << " Failed";
-  out << ": ";
-  pass->printAsTextualPipeline(out);
-  if (printModuleScope) {
-    out << " ('" << op->getName() << "' operation";
-    if (auto symbolName =
-            op->getAttrOfType<StringAttr>(SymbolTable::getSymbolAttrName()))
-      out << ": @" << symbolName.getValue();
-    out << ")";
-  }
-  out << " //----- //\n";
-}
-
 /// Instrumentation hooks.
 void IRPrinterInstrumentation::runBeforePass(Pass *pass, Operation *op) {
   if (isa<OpToOpPassAdaptor>(pass))
@@ -82,7 +76,8 @@ void IRPrinterInstrumentation::runBeforePass(Pass *pass, 
Operation *op) {
     beforePassFingerPrints.try_emplace(pass, op);
 
   config->printBeforeIfEnabled(pass, op, [&](raw_ostream &out) {
-    printIRHeader(out, "Before", pass, op, config->shouldPrintAtModuleScope());
+    out << "// -----// IR Dump Before " << pass->getName() << " ("
+        << pass->getArgument() << ")";
     printIR(op, config->shouldPrintAtModuleScope(), out,
             config->getOpPrintingFlags());
     out << "\n\n";
@@ -112,7 +107,8 @@ void IRPrinterInstrumentation::runAfterPass(Pass *pass, 
Operation *op) {
   }
 
   config->printAfterIfEnabled(pass, op, [&](raw_ostream &out) {
-    printIRHeader(out, "After", pass, op, config->shouldPrintAtModuleScope());
+    out << "// -----// IR Dump After " << pass->getName() << " ("
+        << pass->getArgument() << ")";
     printIR(op, config->shouldPrintAtModuleScope(), out,
             config->getOpPrintingFlags());
     out << "\n\n";
@@ -126,8 +122,8 @@ void IRPrinterInstrumentation::runAfterPassFailed(Pass 
*pass, Operation *op) {
     beforePassFingerPrints.erase(pass);
 
   config->printAfterIfEnabled(pass, op, [&](raw_ostream &out) {
-    printIRHeader(out, "After", pass, op, config->shouldPrintAtModuleScope(),
-                  /*failed=*/true);
+    out << formatv("// -----// IR Dump After {0} Failed ({1})", 
pass->getName(),
+                   pass->getArgument());
     printIR(op, config->shouldPrintAtModuleScope(), out,
             config->getOpPrintingFlags());
     out << "\n\n";

diff  --git a/mlir/test/Pass/dynamic-pipeline-nested.mlir 
b/mlir/test/Pass/dynamic-pipeline-nested.mlir
index 5f480e42b084f..ac2fdd3265b63 100644
--- a/mlir/test/Pass/dynamic-pipeline-nested.mlir
+++ b/mlir/test/Pass/dynamic-pipeline-nested.mlir
@@ -10,7 +10,7 @@ func.func @f() {
 
 // CHECK: IR Dump Before
 // CHECK-SAME: TestDynamicPipelinePass
-// CHECK: module @inner_mod1
+// CHECK-NEXT: module @inner_mod1
 module @inner_mod1 {
 // We use the mlir-print-ir-after-all dumps to check the granularity of the
 // scheduling: if we are nesting we expect to see to individual "Dump Before
@@ -18,11 +18,11 @@ module @inner_mod1 {
 // the CSE pass to run on the `inner_mod1` module directly.
 
 // CHECK: Dump Before CSE
-// NOTNESTED: @inner_mod1
-// NESTED: @foo
+// NOTNESTED-NEXT: @inner_mod1
+// NESTED-NEXT: @foo
   module @foo {}
 // Only in the nested case we have a second run of the pass here.
 // NESTED: Dump Before CSE
-// NESTED: @baz
+// NESTED-NEXT: @baz
   module @baz {}
 }

diff  --git a/mlir/test/Pass/dynamic-pipeline.mlir 
b/mlir/test/Pass/dynamic-pipeline.mlir
index 7cae9284f44d2..5e31ba476aeb0 100644
--- a/mlir/test/Pass/dynamic-pipeline.mlir
+++ b/mlir/test/Pass/dynamic-pipeline.mlir
@@ -10,20 +10,20 @@ func.func @f() {
 
 // CHECK: IR Dump Before
 // CHECK-SAME: TestDynamicPipelinePass
-// CHECK: module @inner_mod1
+// CHECK-NEXT: module @inner_mod1
 // MOD2-ONLY: dynamic-pipeline skip op name: inner_mod1
 module @inner_mod1 {
 // MOD1: Dump Before CSE
-// MOD1: @foo
+// MOD1-NEXT: @foo
 // MOD1: Dump Before Canonicalizer
-// MOD1: @foo
+// MOD1-NEXT: @foo
   func.func @foo() {
     return
   }
 // MOD1: Dump Before CSE
-// MOD1: @baz
+// MOD1-NEXT: @baz
 // MOD1: Dump Before Canonicalizer
-// MOD1: @baz
+// MOD1-NEXT: @baz
   func.func @baz() {
     return
   }
@@ -31,13 +31,13 @@ module @inner_mod1 {
 
 // CHECK: IR Dump Before
 // CHECK-SAME: TestDynamicPipelinePass
-// CHECK: module @inner_mod2
+// CHECK-NEXT: module @inner_mod2
 // MOD1-ONLY: dynamic-pipeline skip op name: inner_mod2
 module @inner_mod2 {
 // MOD2: Dump Before CSE
-// MOD2: @foo
+// MOD2-NEXT: @foo
 // MOD2: Dump Before Canonicalizer
-// MOD2: @foo
+// MOD2-NEXT: @foo
   func.func @foo() {
     return
   }

diff  --git a/mlir/test/Pass/ir-printing.mlir b/mlir/test/Pass/ir-printing.mlir
index 360b347043722..467d76fdaa7f6 100644
--- a/mlir/test/Pass/ir-printing.mlir
+++ b/mlir/test/Pass/ir-printing.mlir
@@ -5,7 +5,6 @@
 // RUN: mlir-opt %s -mlir-disable-threading=true 
-pass-pipeline='builtin.module(func.func(cse,canonicalize))' 
-mlir-print-ir-before=cse -mlir-print-ir-module-scope -o /dev/null 2>&1 | 
FileCheck -check-prefix=BEFORE_MODULE %s
 // RUN: mlir-opt %s -mlir-disable-threading=true 
-pass-pipeline='builtin.module(func.func(cse,cse))' -mlir-print-ir-after-all 
-mlir-print-ir-after-change -o /dev/null 2>&1 | FileCheck 
-check-prefix=AFTER_ALL_CHANGE %s
 // RUN: not mlir-opt %s -mlir-disable-threading=true 
-pass-pipeline='builtin.module(func.func(cse,test-pass-failure))' 
-mlir-print-ir-after-failure -o /dev/null 2>&1 | FileCheck 
-check-prefix=AFTER_FAILURE %s
-// RUN: mlir-opt %s -mlir-disable-threading=true 
-pass-pipeline='builtin.module(func.func(canonicalize{max-iterations=5}))' 
-mlir-print-ir-before=canonicalize -o /dev/null 2>&1 | FileCheck 
-check-prefix=OPTIONS %s
 
 func.func @foo() {
   %0 = arith.constant 0 : i32
@@ -16,55 +15,53 @@ func.func @bar() {
   return
 }
 
-// BEFORE: // -----// IR Dump Before{{.*}}CSEPass: cse //----- //
-// BEFORE: func @foo()
-// BEFORE: // -----// IR Dump Before{{.*}}CSEPass: cse //----- //
-// BEFORE: func @bar()
-// BEFORE-NOT: // -----// IR Dump Before{{.*}}CanonicalizerPass: canonicalize 
//----- //
+// BEFORE: // -----// IR Dump Before{{.*}}CSEPass (cse) //----- //
+// BEFORE-NEXT: func @foo()
+// BEFORE: // -----// IR Dump Before{{.*}}CSEPass (cse) //----- //
+// BEFORE-NEXT: func @bar()
+// BEFORE-NOT: // -----// IR Dump Before{{.*}}CanonicalizerPass (canonicalize) 
//----- //
 // BEFORE-NOT: // -----// IR Dump After
 
-// BEFORE_ALL: // -----// IR Dump Before{{.*}}CSEPass: cse //----- //
-// BEFORE_ALL: func @foo()
-// BEFORE_ALL: // -----// IR Dump Before{{.*}}CanonicalizerPass: 
canonicalize{{.*}} //----- //
-// BEFORE_ALL: func @foo()
-// BEFORE_ALL: // -----// IR Dump Before{{.*}}CSEPass: cse //----- //
-// BEFORE_ALL: func @bar()
-// BEFORE_ALL: // -----// IR Dump Before{{.*}}CanonicalizerPass: 
canonicalize{{.*}} //----- //
-// BEFORE_ALL: func @bar()
+// BEFORE_ALL: // -----// IR Dump Before{{.*}}CSEPass (cse) //----- //
+// BEFORE_ALL-NEXT: func @foo()
+// BEFORE_ALL: // -----// IR Dump Before{{.*}}CanonicalizerPass (canonicalize) 
//----- //
+// BEFORE_ALL-NEXT: func @foo()
+// BEFORE_ALL: // -----// IR Dump Before{{.*}}CSEPass (cse) //----- //
+// BEFORE_ALL-NEXT: func @bar()
+// BEFORE_ALL: // -----// IR Dump Before{{.*}}CanonicalizerPass (canonicalize) 
//----- //
+// BEFORE_ALL-NEXT: func @bar()
 // BEFORE_ALL-NOT: // -----// IR Dump After
 
 // AFTER-NOT: // -----// IR Dump Before
-// AFTER: // -----// IR Dump After{{.*}}CSEPass: cse //----- //
-// AFTER: func @foo()
-// AFTER: // -----// IR Dump After{{.*}}CSEPass: cse //----- //
-// AFTER: func @bar()
-// AFTER-NOT: // -----// IR Dump After{{.*}}CanonicalizerPass: 
canonicalize{{.*}} //----- //
+// AFTER: // -----// IR Dump After{{.*}}CSEPass (cse) //----- //
+// AFTER-NEXT: func @foo()
+// AFTER: // -----// IR Dump After{{.*}}CSEPass (cse) //----- //
+// AFTER-NEXT: func @bar()
+// AFTER-NOT: // -----// IR Dump After{{.*}}CanonicalizerPass (canonicalize) 
//----- //
 
 // AFTER_ALL-NOT: // -----// IR Dump Before
-// AFTER_ALL: // -----// IR Dump After{{.*}}CSEPass: cse //----- //
-// AFTER_ALL: func @foo()
-// AFTER_ALL: // -----// IR Dump After{{.*}}CanonicalizerPass: 
canonicalize{{.*}} //----- //
-// AFTER_ALL: func @foo()
-// AFTER_ALL: // -----// IR Dump After{{.*}}CSEPass: cse //----- //
-// AFTER_ALL: func @bar()
-// AFTER_ALL: // -----// IR Dump After{{.*}}CanonicalizerPass: 
canonicalize{{.*}} //----- //
-// AFTER_ALL: func @bar()
+// AFTER_ALL: // -----// IR Dump After{{.*}}CSEPass (cse) //----- //
+// AFTER_ALL-NEXT: func @foo()
+// AFTER_ALL: // -----// IR Dump After{{.*}}CanonicalizerPass (canonicalize) 
//----- //
+// AFTER_ALL-NEXT: func @foo()
+// AFTER_ALL: // -----// IR Dump After{{.*}}CSEPass (cse) //----- //
+// AFTER_ALL-NEXT: func @bar()
+// AFTER_ALL: // -----// IR Dump After{{.*}}CanonicalizerPass (canonicalize) 
//----- //
+// AFTER_ALL-NEXT: func @bar()
 
-// BEFORE_MODULE: // -----// IR Dump Before{{.*}}CSEPass: cse ('func.func' 
operation: @foo) //----- //
+// BEFORE_MODULE: // -----// IR Dump Before{{.*}}CSEPass (cse) ('func.func' 
operation: @foo) //----- //
 // BEFORE_MODULE: func @foo()
 // BEFORE_MODULE: func @bar()
-// BEFORE_MODULE: // -----// IR Dump Before{{.*}}CSEPass: cse ('func.func' 
operation: @bar) //----- //
+// BEFORE_MODULE: // -----// IR Dump Before{{.*}}CSEPass (cse) ('func.func' 
operation: @bar) //----- //
 // BEFORE_MODULE: func @foo()
 // BEFORE_MODULE: func @bar()
 
-// AFTER_ALL_CHANGE: // -----// IR Dump After{{.*}}CSEPass: cse //----- //
-// AFTER_ALL_CHANGE: func @foo()
-// AFTER_ALL_CHANGE-NOT: // -----// IR Dump After{{.*}}CSEPass: cse //----- //
+// AFTER_ALL_CHANGE: // -----// IR Dump After{{.*}}CSEPass (cse) //----- //
+// AFTER_ALL_CHANGE-NEXT: func @foo()
+// AFTER_ALL_CHANGE-NOT: // -----// IR Dump After{{.*}}CSEPass (cse) //----- //
 // We expect that only 'foo' changed during CSE, and the second run of CSE did
 // nothing.
 
 // AFTER_FAILURE-NOT: // -----// IR Dump After{{.*}}CSE
-// AFTER_FAILURE: // -----// IR Dump After{{.*}}TestFailurePass Failed: 
test-pass-failure{{.*}} //----- //
+// AFTER_FAILURE: // -----// IR Dump After{{.*}}TestFailurePass Failed 
(test-pass-failure) //----- //
 // AFTER_FAILURE: func @foo()
-
-// OPTIONS: // -----// IR Dump Before{{.*}}CanonicalizerPass: 
canonicalize{cse-between-iterations=false{{[[:space:]]*}}max-iterations=5 
max-num-rewrites=-1 region-simplify=normal test-convergence=false 
top-down=true} //----- //

diff  --git a/mlir/test/Pass/run-reproducer.mlir 
b/mlir/test/Pass/run-reproducer.mlir
index 5b3b21090d169..68f634d2038fc 100644
--- a/mlir/test/Pass/run-reproducer.mlir
+++ b/mlir/test/Pass/run-reproducer.mlir
@@ -26,9 +26,9 @@ func.func @bar() {
   }
 #-}
 
-// BEFORE: // -----// IR Dump Before{{.*}}CSEPass: cse //----- //
-// BEFORE: func @foo()
-// BEFORE: // -----// IR Dump Before{{.*}}CSEPass: cse //----- //
-// BEFORE: func @bar()
-// BEFORE-NOT: // -----// IR Dump Before{{.*}}CanonicalizerPass: canonicalize 
//----- //
+// BEFORE: // -----// IR Dump Before{{.*}}CSEPass (cse) //----- //
+// BEFORE-NEXT: func @foo()
+// BEFORE: // -----// IR Dump Before{{.*}}CSEPass (cse) //----- //
+// BEFORE-NEXT: func @bar()
+// BEFORE-NOT: // -----// IR Dump Before{{.*}}CanonicalizerPass (canonicalize) 
//----- //
 // BEFORE-NOT: // -----// IR Dump After

diff  --git a/mlir/test/python/pass_manager.py 
b/mlir/test/python/pass_manager.py
index 39b57d321033a..a097af92d1f0a 100644
--- a/mlir/test/python/pass_manager.py
+++ b/mlir/test/python/pass_manager.py
@@ -275,7 +275,7 @@ def testPrintIrAfterAll():
         pm = PassManager.parse("builtin.module(canonicalize)")
         ctx.enable_multithreading(False)
         pm.enable_ir_printing()
-        # CHECK: // -----// IR Dump After CanonicalizerPass: 
canonicalize{{.*}} //----- //
+        # CHECK: // -----// IR Dump After CanonicalizerPass (canonicalize) 
//----- //
         # CHECK: module {
         # CHECK:   func.func @main() {
         # CHECK:     return
@@ -301,14 +301,14 @@ def testPrintIrBeforeAndAfterAll():
         pm = PassManager.parse("builtin.module(canonicalize)")
         ctx.enable_multithreading(False)
         pm.enable_ir_printing(print_before_all=True, print_after_all=True)
-        # CHECK: // -----// IR Dump Before CanonicalizerPass: 
canonicalize{{.*}} //----- //
+        # CHECK: // -----// IR Dump Before CanonicalizerPass (canonicalize) 
//----- //
         # CHECK: module {
         # CHECK:   func.func @main() {
         # CHECK:     %[[C10:.*]] = arith.constant 10 : i64
         # CHECK:     return
         # CHECK:   }
         # CHECK: }
-        # CHECK: // -----// IR Dump After CanonicalizerPass: 
canonicalize{{.*}} //----- //
+        # CHECK: // -----// IR Dump After CanonicalizerPass (canonicalize) 
//----- //
         # CHECK: module {
         # CHECK:   func.func @main() {
         # CHECK:     return


        
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to