13#include "mlir/Bindings/Python/NanobindAdaptors.h"
15#include <nanobind/nanobind.h>
18using namespace mlir::python::nanobind_adaptors;
21 m.doc() =
"Arc dialect Python native extension";
26 [](nb::object cls, MlirType innerType) {
29 nb::arg(
"cls"), nb::arg(
"inner_type"))
30 .def_property_readonly(
32 .def_property_readonly(
35 .def_property_readonly(
"byte_width", [](MlirType self) {
42 [](nb::object cls,
unsigned numWords, MlirType wordType,
43 MlirType addressType) {
46 nb::arg(
"cls"), nb::arg(
"num_words"), nb::arg(
"word_type"),
47 nb::arg(
"address_type"))
48 .def_property_readonly(
51 .def_property_readonly(
54 .def_property_readonly(
57 .def_property_readonly(
63 [](nb::object cls, MlirContext ctx) {
66 nb::arg(
"cls"), nb::arg(
"context") = nb::none());
71 [](nb::object cls, MlirAttribute model) {
74 nb::arg(
"cls"), nb::arg(
"model"))
75 .def_property_readonly(
"model", [](MlirType self) {
MLIR_CAPI_EXPORTED MlirType arcMemoryTypeGet(unsigned numWords, MlirType wordType, MlirType addressType)
MLIR_CAPI_EXPORTED bool arcTypeIsASimModelInstance(MlirType type)
MLIR_CAPI_EXPORTED MlirType arcStateTypeGetType(MlirType type)
MLIR_CAPI_EXPORTED unsigned arcMemoryTypeGetNumWords(MlirType type)
MLIR_CAPI_EXPORTED unsigned arcStateTypeGetBitWidth(MlirType type)
MLIR_CAPI_EXPORTED MlirType arcMemoryTypeGetAddressType(MlirType type)
MLIR_CAPI_EXPORTED MlirType arcMemoryTypeGetWordType(MlirType type)
MLIR_CAPI_EXPORTED bool arcTypeIsAState(MlirType type)
MLIR_CAPI_EXPORTED MlirType arcStorageTypeGet(MlirContext ctx)
MLIR_CAPI_EXPORTED MlirType arcSimModelInstanceTypeGet(MlirAttribute model)
MLIR_CAPI_EXPORTED unsigned arcStateTypeGetByteWidth(MlirType type)
MLIR_CAPI_EXPORTED bool arcTypeIsAMemory(MlirType type)
MLIR_CAPI_EXPORTED bool arcTypeIsAStorage(MlirType type)
MLIR_CAPI_EXPORTED MlirType arcStateTypeGet(MlirType innerType)
MLIR_CAPI_EXPORTED MlirAttribute arcSimModelInstanceTypeGetModel(MlirType type)
MLIR_CAPI_EXPORTED unsigned arcMemoryTypeGetStride(MlirType type)
void populateDialectArcSubmodule(nanobind::module_ &m)