llvm-project
94a95659 - [MLIR][Python] Add GreedyRewriteDriverConfig parameter to apply_patterns_and_fold_greedily (#174913)

Commit
16 days ago
[MLIR][Python] Add GreedyRewriteDriverConfig parameter to apply_patterns_and_fold_greedily (#174913) We already have `GreedyRewriteDriverConfig` on the Python side, but it hasn’t yet been exposed as a parameter of `apply_patterns_and_fold_greedily`. This PR does that. Before: ```python def apply_patterns_and_fold_greedily(module: ir.Module, set: FrozenRewritePatternSet) -> None def apply_patterns_and_fold_greedily(op: ir._OperationBase, set: FrozenRewritePatternSet) -> None ``` After: ```python def apply_patterns_and_fold_greedily(module: ir.Module, set: FrozenRewritePatternSet, config: GreedyRewriteDriverConfig | None = None) -> None def apply_patterns_and_fold_greedily(op: ir._OperationBase, set: FrozenRewritePatternSet, config: GreedyRewriteDriverConfig | None = None) -> None ``` Note this PR is adapted from https://github.com/llvm/llvm-project/pull/174785 but using `std::optional` instead of `nb::object`. Note, this required refactoring `PyGreedyRewriteDriverConfig` to have a `std::shared_ptr` so that it could support a copy-ctor. Co-authored-by: PragmaTwice <twice@apache.org>
Author
Parents
Loading