[Mlir-commits] [mlir] [mlir] Add operator<< for printing `Block` (PR #92550)

Krzysztof Parzyszek llvmlistbot at llvm.org
Fri May 17 08:24:52 PDT 2024


https://github.com/kparzysz updated https://github.com/llvm/llvm-project/pull/92550

>From db8ac496f9c08e6405a33436ed237c9568c85673 Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Fri, 17 May 2024 08:55:38 -0500
Subject: [PATCH 1/2] [mlir] Add operator<< for printing `Block`

---
 mlir/include/mlir/IR/Block.h | 3 +++
 mlir/lib/IR/AsmPrinter.cpp   | 5 +++++
 2 files changed, 8 insertions(+)

diff --git a/mlir/include/mlir/IR/Block.h b/mlir/include/mlir/IR/Block.h
index c14e9aad8f6d1..e4fddfcb7608e 100644
--- a/mlir/include/mlir/IR/Block.h
+++ b/mlir/include/mlir/IR/Block.h
@@ -18,6 +18,7 @@
 
 namespace llvm {
 class BitVector;
+class raw_ostream;
 } // namespace llvm
 
 namespace mlir {
@@ -401,6 +402,8 @@ class Block : public IRObjectWithUseList<BlockOperand>,
 
   friend struct llvm::ilist_traits<Block>;
 };
+
+raw_ostream &operator<<(raw_ostream &, Block &);
 } // namespace mlir
 
 #endif // MLIR_IR_BLOCK_H
diff --git a/mlir/lib/IR/AsmPrinter.cpp b/mlir/lib/IR/AsmPrinter.cpp
index 9a5c51ba738f9..29e36210f1270 100644
--- a/mlir/lib/IR/AsmPrinter.cpp
+++ b/mlir/lib/IR/AsmPrinter.cpp
@@ -3984,6 +3984,11 @@ void Block::printAsOperand(raw_ostream &os, AsmState &state) {
   printer.printBlockName(this);
 }
 
+raw_ostream &mlir::operator<<(raw_ostream &os, Block &block) {
+  block.print(os);
+  return os;
+}
+
 //===--------------------------------------------------------------------===//
 // Custom printers
 //===--------------------------------------------------------------------===//

>From f73795e27a9ccb5549064ec986c03e79c935b1f8 Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Fri, 17 May 2024 10:22:50 -0500
Subject: [PATCH 2/2] Remove operator<< from CFGLoopInfo

---
 mlir/include/mlir/Analysis/CFGLoopInfo.h | 2 --
 mlir/lib/Analysis/CFGLoopInfo.cpp        | 5 -----
 2 files changed, 7 deletions(-)

diff --git a/mlir/include/mlir/Analysis/CFGLoopInfo.h b/mlir/include/mlir/Analysis/CFGLoopInfo.h
index 41e75021942c6..15ac0d71cb94d 100644
--- a/mlir/include/mlir/Analysis/CFGLoopInfo.h
+++ b/mlir/include/mlir/Analysis/CFGLoopInfo.h
@@ -49,8 +49,6 @@ class CFGLoopInfo : public llvm::LoopInfoBase<mlir::Block, mlir::CFGLoop> {
   CFGLoopInfo(const llvm::DominatorTreeBase<mlir::Block, false> &domTree);
 };
 
-raw_ostream &operator<<(raw_ostream &os, mlir::Block &block);
-
 } // namespace mlir
 
 #endif // MLIR_ANALYSIS_LOOPINFO_H
diff --git a/mlir/lib/Analysis/CFGLoopInfo.cpp b/mlir/lib/Analysis/CFGLoopInfo.cpp
index 785f6c05d76e6..9fe220344dcea 100644
--- a/mlir/lib/Analysis/CFGLoopInfo.cpp
+++ b/mlir/lib/Analysis/CFGLoopInfo.cpp
@@ -23,8 +23,3 @@ CFGLoopInfo::CFGLoopInfo(
     const llvm::DominatorTreeBase<mlir::Block, false> &domTree) {
   analyze(domTree);
 }
-
-raw_ostream &mlir::operator<<(raw_ostream &os, mlir::Block &block) {
-  block.print(os);
-  return os;
-}



More information about the Mlir-commits mailing list