[Mlir-commits] [mlir] [MLIR][Python] Add effect and speculatability specifiers for Python-defined ops (PR #216773)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sat Aug 22 00:03:26 PDT 2026
================
@@ -2685,6 +2685,28 @@ void PyDynamicOpTraits::IsIsolatedFromAbove::bind(nb::module_ &m) {
nb::arg("context").none() = nb::none());
}
+bool PyDynamicOpTraits::RecursiveMemoryEffects::attach(const nb::object &opName,
+ PyMlirContext &context) {
+ MlirDynamicOpTrait trait = mlirDynamicOpTraitRecursiveMemoryEffectsCreate();
+ return attachOpTrait(opName, trait, context);
+}
+
+void PyDynamicOpTraits::RecursiveMemoryEffects::bind(nb::module_ &m) {
+ nb::class_<PyDynamicOpTraits::RecursiveMemoryEffects, PyDynamicOpTrait> cls(
+ m, "RecursiveMemoryEffectsTrait");
+ cls.attr(typeIDAttr) =
+ PyTypeID(mlirDynamicOpTraitRecursiveMemoryEffectsGetTypeID());
+ cls.attr("attach") = classmethod(
+ [](const nb::object &cls, const nb::object &opName,
----------------
PragmaTwice wrote:
ahh i've changed `const nb::object &opName` to `const nb::typed<nb::object, std::variant<std::type_object, nb::str>> &opName` for all `attach` methods.
https://github.com/llvm/llvm-project/pull/216773
More information about the Mlir-commits
mailing list