[Mlir-commits] [mlir] [mlir] Add `Operation::dumpPrettyPrinted` (PR #120117)
weiwei chen
llvmlistbot at llvm.org
Mon Dec 16 12:53:35 PST 2024
https://github.com/weiweichen updated https://github.com/llvm/llvm-project/pull/120117
>From 4cbb253c5d5dc0382d881ef211b7f8676c0393b4 Mon Sep 17 00:00:00 2001
From: Weiwei Chen <weiwei.chen at modular.com>
Date: Mon, 16 Dec 2024 12:24:01 -0500
Subject: [PATCH 1/2] [mlir] Add Operation::dumpPrettyPrinted.
Pretty print Operation that may not be verified for ease
of readabilty while debugging.
---
mlir/include/mlir/IR/Operation.h | 3 +++
mlir/lib/IR/AsmPrinter.cpp | 5 +++++
2 files changed, 8 insertions(+)
diff --git a/mlir/include/mlir/IR/Operation.h b/mlir/include/mlir/IR/Operation.h
index f0dd7c51780566..4f6bea3dcf113c 100644
--- a/mlir/include/mlir/IR/Operation.h
+++ b/mlir/include/mlir/IR/Operation.h
@@ -322,6 +322,9 @@ class alignas(8) Operation final
void print(raw_ostream &os, AsmState &state);
void dump();
+ /// Pretty print for ease of debugging readabilty with unverified IR.
+ void dumpPrettyPrinted();
+
//===--------------------------------------------------------------------===//
// Operands
//===--------------------------------------------------------------------===//
diff --git a/mlir/lib/IR/AsmPrinter.cpp b/mlir/lib/IR/AsmPrinter.cpp
index 61b90bc9b0a7bb..7beb2ab1fb0444 100644
--- a/mlir/lib/IR/AsmPrinter.cpp
+++ b/mlir/lib/IR/AsmPrinter.cpp
@@ -3985,6 +3985,11 @@ void Operation::dump() {
llvm::errs() << "\n";
}
+void Operation::dumpPrettyPrinted() {
+ print(llvm::errs(), OpPrintingFlags().useLocalScope().assumeVerified());
+ llvm::errs() << "\n";
+}
+
void Block::print(raw_ostream &os) {
Operation *parentOp = getParentOp();
if (!parentOp) {
>From fe13015f4e311d742bf84624d88fe0a5f7cd3763 Mon Sep 17 00:00:00 2001
From: Weiwei Chen <weiwei.chen at modular.com>
Date: Mon, 16 Dec 2024 15:52:44 -0500
Subject: [PATCH 2/2] Update API according to comment.
---
mlir/include/mlir/IR/Operation.h | 5 +----
mlir/lib/IR/AsmPrinter.cpp | 12 +++++-------
2 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/mlir/include/mlir/IR/Operation.h b/mlir/include/mlir/IR/Operation.h
index 4f6bea3dcf113c..c1ba5270308e61 100644
--- a/mlir/include/mlir/IR/Operation.h
+++ b/mlir/include/mlir/IR/Operation.h
@@ -320,10 +320,7 @@ class alignas(8) Operation final
void print(raw_ostream &os, const OpPrintingFlags &flags = std::nullopt);
void print(raw_ostream &os, AsmState &state);
- void dump();
-
- /// Pretty print for ease of debugging readabilty with unverified IR.
- void dumpPrettyPrinted();
+ void dump(bool assumeVerified = false);
//===--------------------------------------------------------------------===//
// Operands
diff --git a/mlir/lib/IR/AsmPrinter.cpp b/mlir/lib/IR/AsmPrinter.cpp
index 7beb2ab1fb0444..cdf136780ecc6a 100644
--- a/mlir/lib/IR/AsmPrinter.cpp
+++ b/mlir/lib/IR/AsmPrinter.cpp
@@ -3980,13 +3980,11 @@ void Operation::print(raw_ostream &os, AsmState &state) {
}
}
-void Operation::dump() {
- print(llvm::errs(), OpPrintingFlags().useLocalScope());
- llvm::errs() << "\n";
-}
-
-void Operation::dumpPrettyPrinted() {
- print(llvm::errs(), OpPrintingFlags().useLocalScope().assumeVerified());
+void Operation::dump(bool assumeVerified) {
+ OpPrintingFlags flags;
+ if (assumeVerified)
+ flags.assumeVerified();
+ print(llvm::errs(), flags.useLocalScope());
llvm::errs() << "\n";
}
More information about the Mlir-commits
mailing list