[Mlir-commits] [mlir] [MLIR][Python] Add `GreedyRewriteDriverConfig` parameter to `apply_patterns_and_fold_greedily` (PR #174785)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Jan 7 08:33:07 PST 2026
================
@@ -509,26 +509,42 @@ void populateRewriteSubmodule(nb::module_ &m) {
&PyFrozenRewritePatternSet::createFromCapsule);
m.def(
"apply_patterns_and_fold_greedily",
- [](PyModule &module, PyFrozenRewritePatternSet &set) {
+ [](PyModule &module, PyFrozenRewritePatternSet &set, nb::object config) {
+ if (config.is_none()) {
+ config = nb::cast(PyGreedyRewriteDriverConfig());
+ }
+
auto status = mlirApplyPatternsAndFoldGreedily(
- module.get(), set.get(), mlirGreedyRewriteDriverConfigCreate());
+ module.get(), set.get(),
+ nb::cast<PyGreedyRewriteDriverConfig &>(config).get());
if (mlirLogicalResultIsFailure(status))
throw std::runtime_error("pattern application failed to converge");
},
- "module"_a, "set"_a,
+ "module"_a, "set"_a, "config"_a = nb::none(),
----------------
PragmaTwice wrote:
currently PyGreedyRewriteDriverConfig acts like a "unique_ptr", i.e. it holds a raw pointer from C API. It is possible but maybe we have to add a new C API for copy constructing the actual C++ object.
https://github.com/llvm/llvm-project/pull/174785
More information about the Mlir-commits
mailing list