llvm-project/mlir/lib/Bindings/Python
Stella Laurenzo 7abb0ff7e0 Add Operation to python bindings.
* Fixes a rather egregious bug with respect to the inability to return arbitrary objects from py::init (was causing aliasing of multiple py::object -> native instance).
* Makes Modules and Operations referencable types so that they can be reliably depended on.
* Uniques python operation instances within a context. Opens the door for further accounting.
* Next I will retrofit region and block to be dependent on the operation, and I will attempt to model the API to avoid detached regions/blocks, which will simplify things a lot (in that world, only operations can be detached).
* Added quite a bit of test coverage to check for leaks and reference issues.
* Supercedes: https://reviews.llvm.org/D87213

Differential Revision: https://reviews.llvm.org/D87958
2020-09-23 07:57:50 -07:00
..
mlir
CMakeLists.txt Adds __str__ support to python mlir.ir.MlirModule. 2020-08-17 09:46:33 -07:00
IRModules.cpp Add Operation to python bindings. 2020-09-23 07:57:50 -07:00
IRModules.h Add Operation to python bindings. 2020-09-23 07:57:50 -07:00
MainModule.cpp Adds __str__ support to python mlir.ir.MlirModule. 2020-08-17 09:46:33 -07:00
PybindUtils.cpp Add initial python bindings for attributes. 2020-08-23 22:16:23 -07:00
PybindUtils.h Add Location, Region and Block to MLIR Python bindings. 2020-08-28 15:26:05 -07:00
unix_version.lds