blob: 00198b4fa93b7d606baa658ef3eb142a2b30f10b [file] [log] [blame]
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
)