[Mlir-commits] [mlir] df23ede - [mlir][bufferize][NFC] Debug output during bufferization
Matthias Springer
llvmlistbot at llvm.org
Mon Oct 31 02:30:04 PDT 2022
Author: Matthias Springer
Date: 2022-10-31T10:26:26+01:00
New Revision: df23ede2f117c8a6483cf6cded09fa63f1deda23
URL: https://github.com/llvm/llvm-project/commit/df23ede2f117c8a6483cf6cded09fa63f1deda23
DIFF: https://github.com/llvm/llvm-project/commit/df23ede2f117c8a6483cf6cded09fa63f1deda23.diff
LOG: [mlir][bufferize][NFC] Debug output during bufferization
When running with `-debug`, print the IR after bufferizing each op.
Differential Revision: https://reviews.llvm.org/D137065
Added:
Modified:
mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
index 517ef21ed4cde..25d2e51d99899 100644
--- a/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
+++ b/mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
@@ -30,6 +30,8 @@ namespace bufferization {
} // namespace bufferization
} // namespace mlir
+#define DEBUG_TYPE "bufferize"
+
using namespace mlir;
using namespace mlir::bufferization;
@@ -436,23 +438,33 @@ LogicalResult bufferization::bufferizeOp(Operation *op,
BufferizationRewriter rewriter(op->getContext(), erasedOps, toMemrefOps,
worklist, options, opFilter);
for (unsigned i = 0; i < worklist.size(); ++i) {
- Operation *op = worklist[i];
+ Operation *nextOp = worklist[i];
// Skip ops that were erased.
- if (erasedOps.contains(op))
+ if (erasedOps.contains(nextOp))
continue;
// Skip ops that are not bufferizable or not allowed.
- auto bufferizableOp = options.dynCastBufferizableOp(op);
+ auto bufferizableOp = options.dynCastBufferizableOp(nextOp);
if (!bufferizableOp)
continue;
- if (opFilter && !opFilter->isOpAllowed(op))
+ if (opFilter && !opFilter->isOpAllowed(nextOp))
continue;
// Skip ops that no longer have tensor semantics.
- if (!hasTensorSemantics(op))
+ if (!hasTensorSemantics(nextOp))
continue;
// Bufferize the op.
- rewriter.setInsertionPoint(op);
- if (failed(bufferizableOp.bufferize(rewriter, options)))
- return op->emitError("failed to bufferize op");
+ LLVM_DEBUG(llvm::dbgs()
+ << "//===-------------------------------------------===//\n"
+ << "IR after bufferizing: " << nextOp->getName() << "\n");
+ rewriter.setInsertionPoint(nextOp);
+ if (failed(bufferizableOp.bufferize(rewriter, options))) {
+ LLVM_DEBUG(llvm::dbgs()
+ << "failed to bufferize\n"
+ << "//===-------------------------------------------===//\n");
+ return nextOp->emitError("failed to bufferize op");
+ }
+ LLVM_DEBUG(llvm::dbgs()
+ << *op
+ << "\n//===-------------------------------------------===//\n");
}
// Fold all to_memref(to_tensor(x)) pairs.
More information about the Mlir-commits
mailing list