[Mlir-commits] [mlir] [MLIR][SparseTensor] Fix direct op erasure bypassing rewriter in FoldConvertIntoProducer (PR #188960)

Mehdi Amini llvmlistbot at llvm.org
Fri Mar 27 03:49:22 PDT 2026


https://github.com/joker-eph created https://github.com/llvm/llvm-project/pull/188960

FoldConvertIntoProducer called op->erase() directly instead of going through the rewriter, which triggers an "unsupported erasure" error under MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.

Assisted-by: Claude Code

Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.

>From e0ca79dfbeca1247f030dfc9dbdf5094fe7eaa06 Mon Sep 17 00:00:00 2001
From: Mehdi Amini <joker.eph at gmail.com>
Date: Thu, 26 Mar 2026 15:57:33 -0700
Subject: [PATCH] [MLIR][SparseTensor] Fix direct op erasure bypassing rewriter
 in FoldConvertIntoProducer

FoldConvertIntoProducer called op->erase() directly instead of going
through the rewriter, which triggers an "unsupported erasure" error
under MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS.

Assisted-by: Claude Code
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
Fix a failure present with MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS=ON.
---
 .../Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp   | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
index 89ed468d2e1b9..73777bc10bd39 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
@@ -309,7 +309,7 @@ struct FoldConvertIntoProducer : public OpRewritePattern<ConvertOp> {
     });
 
     rewriter.replaceAllOpUsesWith(op, producer);
-    op->erase();
+    rewriter.eraseOp(op);
 
     return success();
   }



More information about the Mlir-commits mailing list