[Mlir-commits] [mlir] [mlir][TosaToLinalg] Ensure valid insertion pointer after op erasure (PR #146908)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Thu Jul 3 07:40:04 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir-tosa
Author: Matthias Springer (matthias-springer)
<details>
<summary>Changes</summary>
Erasing/replacing an op, which is also the current insertion point, invalidates the insertion point. Explicitly set the insertion point, so that subsequent op insertions do not crash after the One-Shot Dialect Conversion refactoring. (`ConversionPatternRewriter` will start behaving more like a "normal" rewriter.)
---
Full diff: https://github.com/llvm/llvm-project/pull/146908.diff
1 Files Affected:
- (modified) mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp (+1)
``````````diff
diff --git a/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp b/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
index c460a8bb2f4b2..ca8f6fcb1e122 100644
--- a/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
+++ b/mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
@@ -815,6 +815,7 @@ class MaxPool2dConverter : public OpConversionPattern<tosa::MaxPool2dOp> {
ValueRange{paddedInput, fakeWindowDims}, filledEmptyTensor, strideAttr,
dilationAttr);
+ rewriter.setInsertionPointAfter(op);
rewriter.replaceOp(op, resultOp);
// NaN propagation has no meaning for non floating point types.
``````````
</details>
https://github.com/llvm/llvm-project/pull/146908
More information about the Mlir-commits
mailing list