|  | include(AddMLIRPython) | 
|  |  | 
|  | # Specifies that all MLIR packages are co-located under npcomp. | 
|  | # TODO: Add an upstream cmake param for this vs having a global here. | 
|  | add_compile_definitions("MLIR_PYTHON_PACKAGE_PREFIX=iree.compiler.") | 
|  |  | 
|  | ################################################################################ | 
|  | # Sources | 
|  | ################################################################################ | 
|  |  | 
|  | declare_mlir_python_sources(IREEDialectsPythonSources) | 
|  | declare_mlir_python_sources(IREEDialectsPythonExtensions) | 
|  |  | 
|  | declare_mlir_python_sources(IREEDialectsPythonSources.Dialects | 
|  | ADD_TO_PARENT IREEDialectsPythonSources | 
|  | ) | 
|  |  | 
|  | declare_mlir_dialect_python_bindings( | 
|  | ADD_TO_PARENT IREEDialectsPythonSources.Dialects | 
|  | ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/iree/compiler" | 
|  | TD_FILE dialects/IreeInputBinding.td | 
|  | SOURCES dialects/iree_input.py | 
|  | DIALECT_NAME iree_input | 
|  | ) | 
|  |  | 
|  | declare_mlir_dialect_extension_python_bindings( | 
|  | ADD_TO_PARENT IREEDialectsPythonSources.Dialects | 
|  | ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/iree/compiler" | 
|  | TD_FILE dialects/IreeStructuredTransformOps.td | 
|  | SOURCES | 
|  | dialects/transform/iree_structured.py | 
|  | dialects/_iree_structured_transform_ops_ext.py | 
|  | DIALECT_NAME transform | 
|  | EXTENSION_NAME iree_structured_transform) | 
|  |  | 
|  | ################################################################################ | 
|  | # Extensions | 
|  | ################################################################################ | 
|  |  | 
|  | declare_mlir_python_extension(IREEDialectsPythonExtensions.Main | 
|  | MODULE_NAME _ireeDialects | 
|  | ADD_TO_PARENT IREEDialectsPythonExtensions | 
|  | SOURCES | 
|  | IREEDialectsModule.cpp | 
|  | EMBED_CAPI_LINK_LIBS | 
|  | IREEDialectsCAPI | 
|  | PRIVATE_LINK_LIBS | 
|  | LLVMSupport | 
|  | ) | 
|  |  | 
|  | ################################################################################ | 
|  | # Generate packages and shared library | 
|  | # Downstreams typically will not use these, but they are useful for local | 
|  | # testing. | 
|  | ################################################################################ | 
|  |  | 
|  | set(_source_components | 
|  | # TODO: Core is now implicitly building/registering all dialects, increasing | 
|  | # build burden by ~5x. Make it stop. | 
|  | MLIRPythonExtension.RegisterEverything | 
|  |  | 
|  | MLIRPythonSources.Core | 
|  | MLIRPythonSources.Dialects.builtin | 
|  | MLIRPythonSources.Dialects.cf | 
|  | MLIRPythonSources.Dialects.func | 
|  | MLIRPythonSources.Dialects.pdl | 
|  | MLIRPythonSources.Dialects.transform | 
|  | IREEDialectsPythonSources | 
|  | IREEDialectsPythonExtensions | 
|  | ) | 
|  |  | 
|  | add_mlir_python_common_capi_library(IREEDialectsAggregateCAPI | 
|  | INSTALL_COMPONENT IREEDialectsPythonModules | 
|  | INSTALL_DESTINATION python_packages/iree_dialects/mlir/_mlir_libs | 
|  | OUTPUT_DIRECTORY "${IREE_DIALECTS_BINARY_DIR}/python_packages/iree_dialects/iree/compiler/_mlir_libs" | 
|  | RELATIVE_INSTALL_ROOT "../../../.." | 
|  | DECLARED_SOURCES | 
|  | ${_source_components} | 
|  | ) | 
|  |  | 
|  | add_mlir_python_modules(IREEDialectsPythonModules | 
|  | ROOT_PREFIX "${IREE_DIALECTS_BINARY_DIR}/python_packages/iree_dialects/iree/compiler" | 
|  | INSTALL_PREFIX "python_packages/iree_dialects/iree/compiler" | 
|  | DECLARED_SOURCES | 
|  | ${_source_components} | 
|  | COMMON_CAPI_LINK_LIBS | 
|  | IREEDialectsAggregateCAPI | 
|  | ) |