Introduce LDBG_OS() macro as a variant of LDBG() (#157194)
Also, improve LDBG() to accept debug type and level in any order, and
add unit-tests for LDBG() and LGDB_OS().
LDBG_OS() is a macro that behaves like LDBG() but instead of directly
using it to stream the output, it takes a callback function that will be
called with a raw_ostream.
Co-authored-by: Andrzej WarzyĆski <andrzej.warzynski@gmail.com>
GitOrigin-RevId: c84f34bcd8c7fb6d5038b3f52da8c7be64ad5189
diff --git a/lib/Dialect/Transform/IR/TransformOps.cpp b/lib/Dialect/Transform/IR/TransformOps.cpp
index aba6178..132ed81 100644
--- a/lib/Dialect/Transform/IR/TransformOps.cpp
+++ b/lib/Dialect/Transform/IR/TransformOps.cpp
@@ -1151,7 +1151,7 @@
std::optional<DiagnosedSilenceableFailure> maybeFailure;
for (Operation *root : state.getPayloadOps(getRoot())) {
WalkResult walkResult = root->walk([&](Operation *op) {
- LDBG(1, DEBUG_TYPE_MATCHER)
+ LDBG(DEBUG_TYPE_MATCHER, 1)
<< "matching "
<< OpWithFlags(op, OpPrintingFlags().assumeVerified().skipRegions())
<< " @" << op;
@@ -1166,7 +1166,7 @@
if (diag.isDefiniteFailure())
return WalkResult::interrupt();
if (diag.isSilenceableFailure()) {
- LDBG(1, DEBUG_TYPE_MATCHER) << "matcher " << matcher.getName()
+ LDBG(DEBUG_TYPE_MATCHER, 1) << "matcher " << matcher.getName()
<< " failed: " << diag.getMessage();
return WalkResult::advance();
}
@@ -1298,7 +1298,7 @@
if (!getRestrictRoot() && op == root)
return WalkResult::advance();
- LDBG(1, DEBUG_TYPE_MATCHER)
+ LDBG(DEBUG_TYPE_MATCHER, 1)
<< "matching "
<< OpWithFlags(op, OpPrintingFlags().assumeVerified().skipRegions())
<< " @" << op;
@@ -1314,7 +1314,7 @@
if (diag.isDefiniteFailure())
return WalkResult::interrupt();
if (diag.isSilenceableFailure()) {
- LDBG(1, DEBUG_TYPE_MATCHER) << "matcher " << matcher.getName()
+ LDBG(DEBUG_TYPE_MATCHER, 1) << "matcher " << matcher.getName()
<< " failed: " << diag.getMessage();
continue;
}
@@ -2165,10 +2165,10 @@
::std::optional<::mlir::Operation *> maybeCurrent,
transform::TransformResults &results, transform::TransformState &state) {
if (!maybeCurrent.has_value()) {
- LDBG(1, DEBUG_TYPE_MATCHER) << "MatchOperationEmptyOp success";
+ LDBG(DEBUG_TYPE_MATCHER, 1) << "MatchOperationEmptyOp success";
return DiagnosedSilenceableFailure::success();
}
- LDBG(1, DEBUG_TYPE_MATCHER) << "MatchOperationEmptyOp failure";
+ LDBG(DEBUG_TYPE_MATCHER, 1) << "MatchOperationEmptyOp failure";
return emitSilenceableError() << "operation is not empty";
}