diff options
Diffstat (limited to 'python/StandaloneExtension.cpp')
-rw-r--r-- | python/StandaloneExtension.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/python/StandaloneExtension.cpp b/python/StandaloneExtension.cpp new file mode 100644 index 0000000..4c2043a --- /dev/null +++ b/python/StandaloneExtension.cpp @@ -0,0 +1,31 @@ +//===- StandaloneExtension.cpp - Extension module -------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "Standalone-c/Dialects.h" +#include "mlir/Bindings/Python/PybindAdaptors.h" + +namespace py = pybind11; +using namespace mlir::python::adaptors; + +PYBIND11_MODULE(_standaloneDialects, m) { + //===--------------------------------------------------------------------===// + // standalone dialect + //===--------------------------------------------------------------------===// + auto standalone_m = m.def_submodule("standalone"); + + standalone_m.def( + "register_dialect", + [](MlirContext context, bool load) { + MlirDialectHandle handle = mlirGetDialectHandle__standalone__(); + mlirDialectHandleRegisterDialect(handle, context); + if (load) { + mlirDialectHandleLoadDialect(handle, context); + } + }, + py::arg("context") = py::none(), py::arg("load") = true); +} |