[Mlir-commits] [mlir] [MLIR][Python] Expose the insertion point of pattern rewriter (PR #161001)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Oct 3 01:47:46 PDT 2025
================
@@ -143,7 +143,21 @@ class PyFrozenRewritePatternSet {
/// Create the `mlir.rewrite` here.
void mlir::python::populateRewriteSubmodule(nb::module_ &m) {
- nb::class_<MlirPatternRewriter>(m, "PatternRewriter");
+ nb::class_<MlirPatternRewriter>(m, "PatternRewriter")
+ .def("ip", [](MlirPatternRewriter rewriter) {
+ MlirRewriterBase base = mlirPatternRewriterAsBase(rewriter);
+ MlirBlock block = mlirRewriterBaseGetInsertionBlock(base);
+ MlirOperation op = mlirRewriterBaseGetOperationAfterInsertion(base);
+ MlirOperation owner = mlirBlockGetParentOperation(block);
+ auto ctx = PyMlirContext::forContext(mlirRewriterBaseGetContext(base))
+ ->getRef();
+ if (mlirOperationIsNull(op)) {
+ auto parent = PyOperation::forOperation(ctx, owner);
+ return PyInsertionPoint(PyBlock(parent, block));
+ }
+
+ return PyInsertionPoint(*PyOperation::forOperation(ctx, op).get());
+ });
----------------
PragmaTwice wrote:
Done in https://github.com/llvm/llvm-project/pull/161001/commits/68264afd67d5a87172901cefc836fc92b3fb30da.
https://github.com/llvm/llvm-project/pull/161001
More information about the Mlir-commits
mailing list