[Mlir-commits] [mlir] [MLIR][Python] Add bindings for PDL native rewrite function registering (PR #159926)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sat Sep 20 20:28:47 PDT 2025
================
@@ -36,6 +41,43 @@ class PyPDLPatternModule {
}
MlirPDLPatternModule get() { return module; }
+ static nb::object fromPDLValue(MlirPDLValue value) {
+ if (mlirPDLValueIsValue(value)) {
+ return nb::cast(mlirPDLValueAsValue(value));
+ }
+ if (mlirPDLValueIsOperation(value)) {
+ return nb::cast(mlirPDLValueAsOperation(value));
+ }
+ if (mlirPDLValueIsAttribute(value)) {
+ return nb::cast(mlirPDLValueAsAttribute(value));
+ }
+ if (mlirPDLValueIsType(value)) {
+ return nb::cast(mlirPDLValueAsType(value));
+ }
+
+ throw std::runtime_error("unsupported PDL value type");
+ }
+
+ void registerRewriteFunction(const std::string &name,
+ const nb::callable &fn) {
----------------
PragmaTwice wrote:
Yeah we need `this` here.
https://github.com/llvm/llvm-project/pull/159926
More information about the Mlir-commits
mailing list