1*722475a3SStella Laurenzo //===- MainModule.cpp - Main pybind module --------------------------------===// 2*722475a3SStella Laurenzo // 3*722475a3SStella Laurenzo // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*722475a3SStella Laurenzo // See https://llvm.org/LICENSE.txt for license information. 5*722475a3SStella Laurenzo // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*722475a3SStella Laurenzo // 7*722475a3SStella Laurenzo //===----------------------------------------------------------------------===// 8*722475a3SStella Laurenzo 9*722475a3SStella Laurenzo #include <tuple> 10*722475a3SStella Laurenzo 11*722475a3SStella Laurenzo #include <pybind11/pybind11.h> 12*722475a3SStella Laurenzo 13*722475a3SStella Laurenzo #include "mlir/IR/MLIRContext.h" 14*722475a3SStella Laurenzo 15*722475a3SStella Laurenzo using namespace mlir; 16*722475a3SStella Laurenzo 17*722475a3SStella Laurenzo PYBIND11_MODULE(_mlir, m) { 18*722475a3SStella Laurenzo m.doc() = "MLIR Python Native Extension"; 19*722475a3SStella Laurenzo 20*722475a3SStella Laurenzo m.def("get_test_value", []() { 21*722475a3SStella Laurenzo // This is just calling a method on the MLIRContext as a smoketest 22*722475a3SStella Laurenzo // for linkage. 23*722475a3SStella Laurenzo MLIRContext context; 24*722475a3SStella Laurenzo return std::make_tuple(std::string("From the native module"), 25*722475a3SStella Laurenzo context.isMultithreadingEnabled()); 26*722475a3SStella Laurenzo }); 27*722475a3SStella Laurenzo } 28