diff --git a/mlir/include/mlir/IR/Operation.h b/mlir/include/mlir/IR/Operation.h --- a/mlir/include/mlir/IR/Operation.h +++ b/mlir/include/mlir/IR/Operation.h @@ -207,7 +207,7 @@ void print(raw_ostream &os, OpPrintingFlags flags = llvm::None); void print(raw_ostream &os, AsmState &state, OpPrintingFlags flags = llvm::None); - void dump(); + void dump(bool printDebugInfo = false); //===--------------------------------------------------------------------===// // Operands diff --git a/mlir/lib/IR/AsmPrinter.cpp b/mlir/lib/IR/AsmPrinter.cpp --- a/mlir/lib/IR/AsmPrinter.cpp +++ b/mlir/lib/IR/AsmPrinter.cpp @@ -2672,8 +2672,12 @@ printer.print(this); } -void Operation::dump() { - print(llvm::errs(), OpPrintingFlags().useLocalScope()); +void Operation::dump(bool printDebugInfo) { + OpPrintingFlags printFlags; + if (printDebugInfo) + // If Debug Info enabled, always use pretty form. + printFlags.enableDebugInfo(printDebugInfo); + print(llvm::errs(), printFlags.useLocalScope()); llvm::errs() << "\n"; }