[Mlir-commits] [mlir] 3250301 - [mlir] harden transform.test_emit_remark_and_erase (#136307)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Apr 18 11:56:39 PDT 2025
Author: Oleksandr "Alex" Zinenko
Date: 2025-04-18T20:56:36+02:00
New Revision: 32503013ea49f74bb63983705b6316b158d74bda
URL: https://github.com/llvm/llvm-project/commit/32503013ea49f74bb63983705b6316b158d74bda
DIFF: https://github.com/llvm/llvm-project/commit/32503013ea49f74bb63983705b6316b158d74bda.diff
LOG: [mlir] harden transform.test_emit_remark_and_erase (#136307)
Executing this transform op may crash when the payload op is not
erasable. Guard against that. Since this is a test op, no additional
test is defined.
Fixes #128323.
Added:
Modified:
mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
Removed:
################################################################################
diff --git a/mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp b/mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
index face4de8e27d3..cdf44c2959d50 100644
--- a/mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
+++ b/mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
@@ -346,8 +346,11 @@ DiagnosedSilenceableFailure mlir::test::TestEmitRemarkAndEraseOperandOp::apply(
transform::TransformRewriter &rewriter,
transform::TransformResults &results, transform::TransformState &state) {
emitRemark() << getRemark();
- for (Operation *op : state.getPayloadOps(getTarget()))
+ for (Operation *op : state.getPayloadOps(getTarget())) {
+ if (!op->getUses().empty())
+ return emitSilenceableError() << "cannot erase an op that has uses";
rewriter.eraseOp(op);
+ }
if (getFailAfterErase())
return emitSilenceableError() << "silenceable error";
More information about the Mlir-commits
mailing list