diff --git a/mlir/lib/Pass/IRPrinting.cpp b/mlir/lib/Pass/IRPrinting.cpp --- a/mlir/lib/Pass/IRPrinting.cpp +++ b/mlir/lib/Pass/IRPrinting.cpp @@ -98,7 +98,7 @@ OpPrintingFlags flags) { // Otherwise, check to see if we are not printing at module scope. if (!printModuleScope) - return op->print(out << "\n", + return op->print(out << " //----- //\n", op->getBlock() ? flags.useLocalScope() : flags); // Otherwise, we are printing at module scope. @@ -106,7 +106,7 @@ if (auto symbolName = op->getAttrOfType(SymbolTable::getSymbolAttrName())) out << ": @" << symbolName.getValue(); - out << ")\n"; + out << ") //----- //\n"; // Find the top-level operation. auto *topLevelOp = op; @@ -124,7 +124,7 @@ beforePassFingerPrints.try_emplace(pass, op); config->printBeforeIfEnabled(pass, op, [&](raw_ostream &out) { - out << formatv("// *** IR Dump Before {0} ***", pass->getName()); + out << "// -----// IR Dump Before " << pass->getName(); printIR(op, config->shouldPrintAtModuleScope(), out, config->getOpPrintingFlags()); out << "\n\n"; @@ -154,7 +154,7 @@ } config->printAfterIfEnabled(pass, op, [&](raw_ostream &out) { - out << formatv("// *** IR Dump After {0} ***", pass->getName()); + out << "// -----// IR Dump After " << pass->getName(); printIR(op, config->shouldPrintAtModuleScope(), out, config->getOpPrintingFlags()); out << "\n\n"; @@ -168,7 +168,7 @@ beforePassFingerPrints.erase(pass); config->printAfterIfEnabled(pass, op, [&](raw_ostream &out) { - out << formatv("// *** IR Dump After {0} Failed ***", pass->getName()); + out << formatv("// -----// IR Dump After {0} Failed", pass->getName()); printIR(op, config->shouldPrintAtModuleScope(), out, OpPrintingFlags().printGenericOpForm()); out << "\n\n"; diff --git a/mlir/test/Pass/ir-printing.mlir b/mlir/test/Pass/ir-printing.mlir --- a/mlir/test/Pass/ir-printing.mlir +++ b/mlir/test/Pass/ir-printing.mlir @@ -15,52 +15,52 @@ return } -// BEFORE: *** IR Dump Before{{.*}}CSE *** +// BEFORE: // -----// IR Dump Before{{.*}}CSE //----- // // BEFORE-NEXT: func @foo() -// BEFORE: *** IR Dump Before{{.*}}CSE *** +// BEFORE: // -----// IR Dump Before{{.*}}CSE //----- // // BEFORE-NEXT: func @bar() -// BEFORE-NOT: *** IR Dump Before{{.*}}Canonicalizer *** -// BEFORE-NOT: *** IR Dump After +// BEFORE-NOT: // -----// IR Dump Before{{.*}}Canonicalizer //----- // +// BEFORE-NOT: // -----// IR Dump After -// BEFORE_ALL: *** IR Dump Before{{.*}}CSE *** +// BEFORE_ALL: // -----// IR Dump Before{{.*}}CSE //----- // // BEFORE_ALL-NEXT: func @foo() -// BEFORE_ALL: *** IR Dump Before{{.*}}Canonicalizer *** +// BEFORE_ALL: // -----// IR Dump Before{{.*}}Canonicalizer //----- // // BEFORE_ALL-NEXT: func @foo() -// BEFORE_ALL: *** IR Dump Before{{.*}}CSE *** +// BEFORE_ALL: // -----// IR Dump Before{{.*}}CSE //----- // // BEFORE_ALL-NEXT: func @bar() -// BEFORE_ALL: *** IR Dump Before{{.*}}Canonicalizer *** +// BEFORE_ALL: // -----// IR Dump Before{{.*}}Canonicalizer //----- // // BEFORE_ALL-NEXT: func @bar() -// BEFORE_ALL-NOT: *** IR Dump After +// BEFORE_ALL-NOT: // -----// IR Dump After -// AFTER-NOT: *** IR Dump Before -// AFTER: *** IR Dump After{{.*}}CSE *** +// AFTER-NOT: // -----// IR Dump Before +// AFTER: // -----// IR Dump After{{.*}}CSE //----- // // AFTER-NEXT: func @foo() -// AFTER: *** IR Dump After{{.*}}CSE *** +// AFTER: // -----// IR Dump After{{.*}}CSE //----- // // AFTER-NEXT: func @bar() -// AFTER-NOT: *** IR Dump After{{.*}}Canonicalizer *** +// AFTER-NOT: // -----// IR Dump After{{.*}}Canonicalizer //----- // -// AFTER_ALL-NOT: *** IR Dump Before -// AFTER_ALL: *** IR Dump After{{.*}}CSE *** +// AFTER_ALL-NOT: // -----// IR Dump Before +// AFTER_ALL: // -----// IR Dump After{{.*}}CSE //----- // // AFTER_ALL-NEXT: func @foo() -// AFTER_ALL: *** IR Dump After{{.*}}Canonicalizer *** +// AFTER_ALL: // -----// IR Dump After{{.*}}Canonicalizer //----- // // AFTER_ALL-NEXT: func @foo() -// AFTER_ALL: *** IR Dump After{{.*}}CSE *** +// AFTER_ALL: // -----// IR Dump After{{.*}}CSE //----- // // AFTER_ALL-NEXT: func @bar() -// AFTER_ALL: *** IR Dump After{{.*}}Canonicalizer *** +// AFTER_ALL: // -----// IR Dump After{{.*}}Canonicalizer //----- // // AFTER_ALL-NEXT: func @bar() -// BEFORE_MODULE: *** IR Dump Before{{.*}}CSE *** ('func' operation: @foo) +// BEFORE_MODULE: // -----// IR Dump Before{{.*}}CSE ('func' operation: @foo) //----- // // BEFORE_MODULE: func @foo() // BEFORE_MODULE: func @bar() -// BEFORE_MODULE: *** IR Dump Before{{.*}}CSE *** ('func' operation: @bar) +// BEFORE_MODULE: // -----// IR Dump Before{{.*}}CSE ('func' operation: @bar) //----- // // BEFORE_MODULE: func @foo() // BEFORE_MODULE: func @bar() -// AFTER_ALL_CHANGE: *** IR Dump After{{.*}}CSE *** +// AFTER_ALL_CHANGE: // -----// IR Dump After{{.*}}CSE //----- // // AFTER_ALL_CHANGE-NEXT: func @foo() -// AFTER_ALL_CHANGE-NOT: *** IR Dump After{{.*}}CSE *** +// AFTER_ALL_CHANGE-NOT: // -----// IR Dump After{{.*}}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 *** +// AFTER_FAILURE-NOT: // -----// IR Dump After{{.*}}CSE +// AFTER_FAILURE: // -----// IR Dump After{{.*}}TestFailurePass Failed //----- // diff --git a/mlir/test/Pass/run-reproducer.mlir b/mlir/test/Pass/run-reproducer.mlir --- a/mlir/test/Pass/run-reproducer.mlir +++ b/mlir/test/Pass/run-reproducer.mlir @@ -14,9 +14,9 @@ return } -// BEFORE: *** IR Dump Before{{.*}}CSE *** +// BEFORE: // -----// IR Dump Before{{.*}}CSE //----- // // BEFORE-NEXT: func @foo() -// BEFORE: *** IR Dump Before{{.*}}CSE *** +// BEFORE: // -----// IR Dump Before{{.*}}CSE //----- // // BEFORE-NEXT: func @bar() -// BEFORE-NOT: *** IR Dump Before{{.*}}Canonicalizer *** -// BEFORE-NOT: *** IR Dump After +// BEFORE-NOT: // -----// IR Dump Before{{.*}}Canonicalizer //----- // +// BEFORE-NOT: // -----// IR Dump After