mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-18 17:56:50 +00:00
Revert "[mlir] Consider mlir-linalg-ods-gen as a tablegen tool in build (#75093)"
This reverts commit 9191ac0bdb07643eefcc161c88b66d4e7058db9c. Breaks build on following buildbot: https://lab.llvm.org/buildbot/#/builders/177/builds/27432
This commit is contained in:
parent
6dda74cc51
commit
a24c58140f
@ -165,18 +165,14 @@ function(add_public_tablegen_target target)
|
||||
endfunction()
|
||||
|
||||
macro(add_tablegen target project)
|
||||
cmake_parse_arguments(ADD_TABLEGEN "SKIP_COMPONENT_LINK" "DESTINATION;EXPORT" "" ${ARGN})
|
||||
cmake_parse_arguments(ADD_TABLEGEN "" "DESTINATION;EXPORT" "" ${ARGN})
|
||||
|
||||
if(NOT ADD_TABLEGEN_SKIP_COMPONENT_LINK)
|
||||
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
|
||||
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
|
||||
endif()
|
||||
set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
|
||||
set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
|
||||
|
||||
add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB
|
||||
${ADD_TABLEGEN_UNPARSED_ARGUMENTS})
|
||||
if(NOT ADD_TABLEGEN_SKIP_COMPONENT_LINK)
|
||||
set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
|
||||
endif()
|
||||
set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})
|
||||
|
||||
set(${project}_TABLEGEN_DEFAULT "${target}")
|
||||
if (LLVM_NATIVE_TOOL_DIR)
|
||||
|
@ -184,8 +184,6 @@ add_subdirectory(tools/mlir-pdll)
|
||||
|
||||
set(MLIR_TABLEGEN_EXE "${MLIR_TABLEGEN_EXE}" CACHE INTERNAL "")
|
||||
set(MLIR_TABLEGEN_TARGET "${MLIR_TABLEGEN_TARGET}" CACHE INTERNAL "")
|
||||
set(MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_EXE "${MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_EXE}" CACHE INTERNAL "")
|
||||
set(MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_TARGET "${MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_TARGET}" CACHE INTERNAL "")
|
||||
set(MLIR_PDLL_TABLEGEN_EXE "${MLIR_PDLL_TABLEGEN_EXE}" CACHE INTERNAL "")
|
||||
set(MLIR_PDLL_TABLEGEN_TARGET "${MLIR_PDLL_TABLEGEN_TARGET}" CACHE INTERNAL "")
|
||||
|
||||
|
@ -136,31 +136,6 @@ function(add_mlir_pdll_library target inputFile ofn)
|
||||
add_public_tablegen_target(${target})
|
||||
endfunction()
|
||||
|
||||
# Declare a function to generate ODS with mlir-linalg-ods-yaml-gen
|
||||
function(add_linalg_ods_yaml_gen yaml_ast_file output_file)
|
||||
set(YAML_AST_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${yaml_ast_file})
|
||||
set(GEN_ODS_FILE ${CMAKE_CURRENT_BINARY_DIR}/${output_file}.yamlgen.td)
|
||||
set(GEN_CPP_FILE ${CMAKE_CURRENT_BINARY_DIR}/${output_file}.yamlgen.cpp.inc)
|
||||
set_source_files_properties(
|
||||
${GEN_ODS_FILE}
|
||||
PROPERTIES GENERATED TRUE)
|
||||
set_source_files_properties(
|
||||
${GEN_CPP_FILE}
|
||||
PROPERTIES GENERATED TRUE)
|
||||
add_custom_command(
|
||||
OUTPUT ${GEN_ODS_FILE} ${GEN_CPP_FILE}
|
||||
COMMAND ${MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_EXE} ${YAML_AST_SOURCE} -o-ods-decl=${GEN_ODS_FILE} -o-impl=${GEN_CPP_FILE}
|
||||
MAIN_DEPENDENCY
|
||||
${YAML_AST_SOURCE}
|
||||
DEPENDS
|
||||
${MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_EXE}
|
||||
${MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_TARGET}
|
||||
${LLVM_TARGET_DEPENDS})
|
||||
|
||||
set(TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} ${GEN_ODS_FILE} ${GEN_CPP_FILE}
|
||||
PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Declare a dialect in the include directory
|
||||
function(add_mlir_dialect dialect dialect_namespace)
|
||||
set(LLVM_TARGET_DEFINITIONS ${dialect}.td)
|
||||
|
@ -38,7 +38,6 @@ set(MLIR_CONFIG_INCLUDE_DIRS
|
||||
)
|
||||
# Refer to the best host mlir-tbgen, which might be a host-optimized version
|
||||
set(MLIR_CONFIG_TABLEGEN_EXE "${MLIR_TABLEGEN_EXE}")
|
||||
set(MLIR_CONFIG_LINALG_ODS_YAML_GEN_TABLEGEN_EXE "${MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_EXE}")
|
||||
set(MLIR_CONFIG_PDLL_TABLEGEN_EXE "${MLIR_PDLL_TABLEGEN_EXE}")
|
||||
|
||||
configure_file(
|
||||
@ -77,7 +76,6 @@ set(MLIR_CONFIG_INCLUDE_DIRS
|
||||
# Ensure that we are using the installed mlir-tblgen. This might not be MLIR_TABLEGEN_EXE
|
||||
# if we're building with a host-optimized mlir-tblgen (with LLVM_OPTIMIZED_TABLEGEN).
|
||||
set(MLIR_CONFIG_TABLEGEN_EXE mlir-tblgen)
|
||||
set(MLIR_CONFIG_LINALG_ODS_YAML_GEN_TABLEGEN_EXE mlir-linalg-ods-yaml-gen)
|
||||
set(MLIR_CONFIG_PDLL_TABLEGEN_EXE mlir-pdll)
|
||||
|
||||
configure_file(
|
||||
|
@ -10,7 +10,6 @@ set(MLIR_EXPORTED_TARGETS "@MLIR_EXPORTS@")
|
||||
set(MLIR_CMAKE_DIR "@MLIR_CONFIG_CMAKE_DIR@")
|
||||
set(MLIR_INCLUDE_DIRS "@MLIR_CONFIG_INCLUDE_DIRS@")
|
||||
set(MLIR_TABLEGEN_EXE "@MLIR_CONFIG_TABLEGEN_EXE@")
|
||||
set(MLIR_LINALG_ODS_YAML_GEN_TABLEGEN_EXE "@MLIR_CONFIG_LINALG_ODS_YAML_GEN_TABLEGEN_EXE@")
|
||||
set(MLIR_PDLL_TABLEGEN_EXE "@MLIR_CONFIG_PDLL_TABLEGEN_EXE@")
|
||||
set(MLIR_INSTALL_AGGREGATE_OBJECTS "@MLIR_INSTALL_AGGREGATE_OBJECTS@")
|
||||
set(MLIR_ENABLE_BINDINGS_PYTHON "@MLIR_ENABLE_BINDINGS_PYTHON@")
|
||||
|
@ -1,5 +1,38 @@
|
||||
# Declare a function to generate ODS with mlir-linalg-ods-yaml-gen
|
||||
function(add_linalg_ods_yaml_gen yaml_ast_file output_file)
|
||||
set(YAML_AST_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/${yaml_ast_file})
|
||||
set(GEN_ODS_FILE ${CMAKE_CURRENT_BINARY_DIR}/${output_file}.yamlgen.td)
|
||||
set(GEN_CPP_FILE ${CMAKE_CURRENT_BINARY_DIR}/${output_file}.yamlgen.cpp.inc)
|
||||
set_source_files_properties(
|
||||
${GEN_ODS_FILE}
|
||||
PROPERTIES GENERATED TRUE)
|
||||
set_source_files_properties(
|
||||
${GEN_CPP_FILE}
|
||||
PROPERTIES GENERATED TRUE)
|
||||
add_custom_command(
|
||||
OUTPUT ${GEN_ODS_FILE} ${GEN_CPP_FILE}
|
||||
COMMAND ${MLIR_LINALG_ODS_YAML_GEN_EXE} ${YAML_AST_SOURCE} -o-ods-decl=${GEN_ODS_FILE} -o-impl=${GEN_CPP_FILE}
|
||||
MAIN_DEPENDENCY
|
||||
${YAML_AST_SOURCE}
|
||||
DEPENDS
|
||||
${MLIR_LINALG_ODS_YAML_GEN_EXE}
|
||||
${MLIR_LINALG_ODS_YAML_GEN_TARGET})
|
||||
add_custom_target(
|
||||
MLIR${output_file}YamlIncGen
|
||||
DEPENDS
|
||||
${MLIR_LINALG_ODS_YAML_GEN_EXE}
|
||||
${MLIR_LINALG_ODS_YAML_GEN_TARGET}
|
||||
${GEN_ODS_FILE} ${GEN_CPP_FILE})
|
||||
list(APPEND LLVM_TARGET_DEPENDS ${GEN_ODS_FILE})
|
||||
set(LLVM_TARGET_DEPENDS ${LLVM_TARGET_DEPENDS} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# NOTE: LLVM_TARGET_DEPENDS gets picked up by tablegen targets to add file
|
||||
# level dependencies. This is gross but CMake requires depending on both
|
||||
# targets and generated files, and it must be done when the custom target is
|
||||
# declared (there is no way to add after the fact).
|
||||
set(LLVM_TARGET_DEPENDS "")
|
||||
add_linalg_ods_yaml_gen(LinalgNamedStructuredOps.yaml LinalgNamedStructuredOps)
|
||||
add_public_tablegen_target(MLIRLinalgNamedStructuredOpsYamlIncGen)
|
||||
|
||||
# Provide a short name for all external dependency that needs to
|
||||
# include Linalg in ODS
|
||||
|
@ -9,7 +9,6 @@ add_mlir_dialect_library(MLIRLinalgDialect
|
||||
|
||||
DEPENDS
|
||||
MLIRLinalgInterfacesIncGen
|
||||
MLIRLinalgNamedStructuredOpsYamlIncGen
|
||||
MLIRLinalgOpsAttributesIncGen
|
||||
MLIRLinalgOpsEnumsIncGen
|
||||
MLIRLinalgOpsIncGen
|
||||
|
@ -3,26 +3,26 @@ set(LLVM_LINK_COMPONENTS
|
||||
Support
|
||||
)
|
||||
|
||||
set(LIBS
|
||||
# New mlir-linalg-ods-yaml-gen.
|
||||
add_mlir_tool(mlir-linalg-ods-yaml-gen
|
||||
mlir-linalg-ods-yaml-gen.cpp
|
||||
)
|
||||
llvm_update_compile_flags(mlir-linalg-ods-yaml-gen)
|
||||
target_link_libraries(mlir-linalg-ods-yaml-gen PRIVATE
|
||||
MLIRIR
|
||||
MLIRSupport
|
||||
MLIRParser
|
||||
)
|
||||
)
|
||||
|
||||
# New mlir-linalg-ods-yaml-gen.
|
||||
add_tablegen(mlir-linalg-ods-yaml-gen MLIR_LINALG_ODS_YAML_GEN
|
||||
DESTINATION "${MLIR_TOOLS_INSTALL_DIR}"
|
||||
EXPORT MLIR
|
||||
SKIP_COMPONENT_LINK
|
||||
mlir-linalg-ods-yaml-gen.cpp
|
||||
setup_host_tool(mlir-linalg-ods-yaml-gen MLIR_LINALG_ODS_YAML_GEN MLIR_LINALG_ODS_YAML_GEN_EXE MLIR_LINALG_ODS_YAML_GEN_TARGET)
|
||||
|
||||
DEPENDS
|
||||
${LIBS}
|
||||
)
|
||||
set_target_properties(mlir-linalg-ods-yaml-gen PROPERTIES FOLDER "Tablegenning")
|
||||
target_link_libraries(mlir-linalg-ods-yaml-gen PRIVATE ${LIBS})
|
||||
if(NOT ${MLIR_LINALG_ODS_YAML_GEN_EXE} STREQUAL "mlir-linalg-ods-yaml-gen")
|
||||
add_custom_target(mlir-linalg-ods-yaml-gen-host DEPENDS ${MLIR_LINALG_ODS_YAML_GEN_EXE})
|
||||
|
||||
mlir_check_all_link_libraries(mlir-linalg-ods-yaml-gen)
|
||||
if(NOT LLVM_BUILD_UTILS)
|
||||
set_target_properties(mlir-linalg-ods-yaml-gen PROPERTIES EXCLUDE_FROM_ALL ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
configure_file(
|
||||
update_core_linalg_named_ops.sh.in
|
||||
|
Loading…
x
Reference in New Issue
Block a user