1*132bc6e2SStella Laurenzo //===- StandaloneExtension.cpp - Extension module -------------------------===//
2*132bc6e2SStella Laurenzo //
3*132bc6e2SStella Laurenzo // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*132bc6e2SStella Laurenzo // See https://llvm.org/LICENSE.txt for license information.
5*132bc6e2SStella Laurenzo // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*132bc6e2SStella Laurenzo //
7*132bc6e2SStella Laurenzo //===----------------------------------------------------------------------===//
8*132bc6e2SStella Laurenzo 
9*132bc6e2SStella Laurenzo #include "Standalone-c/Dialects.h"
10*132bc6e2SStella Laurenzo #include "mlir/Bindings/Python/PybindAdaptors.h"
11*132bc6e2SStella Laurenzo 
12*132bc6e2SStella Laurenzo namespace py = pybind11;
13*132bc6e2SStella Laurenzo using namespace mlir::python::adaptors;
14*132bc6e2SStella Laurenzo 
PYBIND11_MODULE(_standaloneDialects,m)15*132bc6e2SStella Laurenzo PYBIND11_MODULE(_standaloneDialects, m) {
16*132bc6e2SStella Laurenzo   //===--------------------------------------------------------------------===//
17*132bc6e2SStella Laurenzo   // standalone dialect
18*132bc6e2SStella Laurenzo   //===--------------------------------------------------------------------===//
19*132bc6e2SStella Laurenzo   auto standalone_m = m.def_submodule("standalone");
20*132bc6e2SStella Laurenzo 
21*132bc6e2SStella Laurenzo   standalone_m.def(
22*132bc6e2SStella Laurenzo       "register_dialect",
23*132bc6e2SStella Laurenzo       [](MlirContext context, bool load) {
24*132bc6e2SStella Laurenzo         MlirDialectHandle handle = mlirGetDialectHandle__standalone__();
25*132bc6e2SStella Laurenzo         mlirDialectHandleRegisterDialect(handle, context);
26*132bc6e2SStella Laurenzo         if (load) {
27*132bc6e2SStella Laurenzo           mlirDialectHandleLoadDialect(handle, context);
28*132bc6e2SStella Laurenzo         }
29*132bc6e2SStella Laurenzo       },
30*132bc6e2SStella Laurenzo       py::arg("context") = py::none(), py::arg("load") = true);
31*132bc6e2SStella Laurenzo }
32