[MLIR][NFC] Value print update for block arguments
authorUday Bondhugula <uday@polymagelabs.com>
Tue, 15 Sep 2020 05:28:45 +0000 (10:58 +0530)
committerUday Bondhugula <uday@polymagelabs.com>
Wed, 16 Sep 2020 05:17:28 +0000 (10:47 +0530)
Emit some more information when printing/dumping `Value`s of
`BlockArgument` kind. This is purely to help for debugging purposes.

Differential Revision: https://reviews.llvm.org/D87670

mlir/lib/IR/AsmPrinter.cpp

index 3deb7b4..602138d 100644 (file)
@@ -2359,16 +2359,18 @@ void Value::print(raw_ostream &os) {
   if (auto *op = getDefiningOp())
     return op->print(os);
   // TODO: Improve this.
-  assert(isa<BlockArgument>());
-  os << "<block argument>\n";
+  BlockArgument arg = this->cast<BlockArgument>();
+  os << "<block argument> of type '" << arg.getType()
+     << "' at index: " << arg.getArgNumber() << '\n';
 }
 void Value::print(raw_ostream &os, AsmState &state) {
   if (auto *op = getDefiningOp())
     return op->print(os, state);
 
   // TODO: Improve this.
-  assert(isa<BlockArgument>());
-  os << "<block argument>\n";
+  BlockArgument arg = this->cast<BlockArgument>();
+  os << "<block argument> of type '" << arg.getType()
+     << "' at index: " << arg.getArgNumber() << '\n';
 }
 
 void Value::dump() {