[Mlir-commits] [mlir] [MLIR][CAPI][Python] Add support for constructing memory effect instances (PR #210586)
Maksim Levental
llvmlistbot at llvm.org
Sun Jul 19 11:21:25 PDT 2026
================
@@ -135,7 +135,58 @@ class PyConcreteOpInterface {
nanobind::object obj;
};
-struct PyMemoryEffectsInstanceList {
+/// A borrowed memory effect.
+class PyMemoryEffect {
+public:
+ explicit PyMemoryEffect(MlirMemoryEffect effect) : effect(effect) {}
+
+ MlirMemoryEffect get() const { return effect; }
+
+private:
+ MlirMemoryEffect effect;
+};
+
+/// A borrowed side effect resource.
+class PySideEffectResource {
+public:
+ explicit PySideEffectResource(MlirSideEffectResource resource)
+ : resource(resource) {}
+
+ MlirSideEffectResource get() const { return resource; }
+
+private:
+ MlirSideEffectResource resource;
+};
+
+/// An owning memory effect instance.
+class PyMemoryEffectInstance {
+public:
+ explicit PyMemoryEffectInstance(MlirMemoryEffectInstance instance)
+ : instance(instance) {}
+ PyMemoryEffectInstance(PyMemoryEffectInstance &&other) noexcept
+ : instance(other.instance) {
+ other.instance.ptr = nullptr;
----------------
makslevental wrote:
just curious: why do you need a move ctor?
https://github.com/llvm/llvm-project/pull/210586
More information about the Mlir-commits
mailing list