diff --git a/mlir/cmake/modules/AddMLIR.cmake b/mlir/cmake/modules/AddMLIR.cmake --- a/mlir/cmake/modules/AddMLIR.cmake +++ b/mlir/cmake/modules/AddMLIR.cmake @@ -54,3 +54,9 @@ set_property(GLOBAL APPEND PROPERTY MLIR_DIALECT_LIBS ${name}) add_llvm_library(${ARGV}) endfunction(add_mlir_dialect_library) + +# Declare the library associated with a conversion. +function(add_mlir_conversion_library name) + set_property(GLOBAL APPEND PROPERTY MLIR_CONVERSION_LIBS ${name}) + add_llvm_library(${ARGV}) +endfunction(add_mlir_conversion_library) diff --git a/mlir/examples/toy/Ch6/CMakeLists.txt b/mlir/examples/toy/Ch6/CMakeLists.txt --- a/mlir/examples/toy/Ch6/CMakeLists.txt +++ b/mlir/examples/toy/Ch6/CMakeLists.txt @@ -28,18 +28,17 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) +get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) target_link_libraries(toyc-ch6 PRIVATE ${dialect_libs} - MLIRAffineToStandard + ${conversion_libs} MLIRAnalysis MLIRExecutionEngine MLIRIR MLIRLLVMIR - MLIRLoopToStandard MLIRParser MLIRPass - MLIRStandardToLLVM MLIRTargetLLVMIR MLIRTransforms ) diff --git a/mlir/examples/toy/Ch7/CMakeLists.txt b/mlir/examples/toy/Ch7/CMakeLists.txt --- a/mlir/examples/toy/Ch7/CMakeLists.txt +++ b/mlir/examples/toy/Ch7/CMakeLists.txt @@ -28,17 +28,16 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) +get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) target_link_libraries(toyc-ch7 PRIVATE ${dialect_libs} - MLIRAffineToStandard + ${conversion_libs} MLIRAnalysis MLIRExecutionEngine MLIRIR - MLIRLoopToStandard MLIRParser MLIRPass - MLIRStandardToLLVM MLIRTargetLLVMIR MLIRTransforms ) diff --git a/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt b/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt --- a/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt +++ b/mlir/lib/Conversion/AffineToStandard/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRAffineToStandard +add_mlir_conversion_library(MLIRAffineToStandard AffineToStandard.cpp ADDITIONAL_HEADER_DIRS diff --git a/mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt b/mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt --- a/mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt +++ b/mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt @@ -10,7 +10,7 @@ list(APPEND SOURCES "ConvertKernelFuncToCubin.cpp") endif() -add_llvm_library(MLIRGPUtoCUDATransforms ${SOURCES}) +add_mlir_conversion_library(MLIRGPUtoCUDATransforms ${SOURCES}) target_link_libraries(MLIRGPUtoCUDATransforms MLIRGPU MLIRLLVMIR diff --git a/mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt b/mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt --- a/mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt +++ b/mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt @@ -2,7 +2,7 @@ mlir_tablegen(GPUToNVVM.cpp.inc -gen-rewriters) add_public_tablegen_target(MLIRGPUToNVVMIncGen) -add_llvm_library(MLIRGPUtoNVVMTransforms +add_mlir_conversion_library(MLIRGPUtoNVVMTransforms LowerGpuOpsToNVVMOps.cpp ) diff --git a/mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt b/mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt --- a/mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt +++ b/mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRGPUtoROCDLTransforms +add_mlir_conversion_library(MLIRGPUtoROCDLTransforms LowerGpuOpsToROCDLOps.cpp ) target_link_libraries(MLIRGPUtoROCDLTransforms diff --git a/mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt b/mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt --- a/mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt +++ b/mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt @@ -2,7 +2,7 @@ mlir_tablegen(GPUToSPIRV.cpp.inc -gen-rewriters) add_public_tablegen_target(MLIRGPUToSPIRVIncGen) -add_llvm_library(MLIRGPUtoSPIRVTransforms +add_mlir_conversion_library(MLIRGPUtoSPIRVTransforms ConvertGPUToSPIRV.cpp ConvertGPUToSPIRVPass.cpp ) diff --git a/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt b/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt --- a/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt +++ b/mlir/lib/Conversion/GPUToVulkan/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRGPUtoVulkanTransforms +add_mlir_conversion_library(MLIRGPUtoVulkanTransforms ConvertLaunchFuncToVulkanCalls.cpp ) diff --git a/mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt b/mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt --- a/mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt +++ b/mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRLinalgToLLVM +add_mlir_conversion_library(MLIRLinalgToLLVM LinalgToLLVM.cpp ADDITIONAL_HEADER_DIRS diff --git a/mlir/lib/Conversion/LinalgToSPIRV/CMakeLists.txt b/mlir/lib/Conversion/LinalgToSPIRV/CMakeLists.txt --- a/mlir/lib/Conversion/LinalgToSPIRV/CMakeLists.txt +++ b/mlir/lib/Conversion/LinalgToSPIRV/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRLinalgToSPIRVTransforms +add_mlir_conversion_library(MLIRLinalgToSPIRVTransforms LinalgToSPIRV.cpp LinalgToSPIRVPass.cpp diff --git a/mlir/lib/Conversion/LoopToStandard/CMakeLists.txt b/mlir/lib/Conversion/LoopToStandard/CMakeLists.txt --- a/mlir/lib/Conversion/LoopToStandard/CMakeLists.txt +++ b/mlir/lib/Conversion/LoopToStandard/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRLoopToStandard +add_mlir_conversion_library(MLIRLoopToStandard ConvertLoopToStandard.cpp ADDITIONAL_HEADER_DIRS diff --git a/mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt b/mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt --- a/mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt +++ b/mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt @@ -11,7 +11,7 @@ LLVMSupport ) -add_llvm_library(MLIRLoopsToGPU +add_mlir_conversion_library(MLIRLoopsToGPU LoopsToGPU.cpp LoopsToGPUPass.cpp diff --git a/mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt b/mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt --- a/mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt +++ b/mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRStandardToLLVM +add_mlir_conversion_library(MLIRStandardToLLVM ConvertStandardToLLVM.cpp ADDITIONAL_HEADER_DIRS diff --git a/mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt b/mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt --- a/mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt +++ b/mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt @@ -2,7 +2,7 @@ mlir_tablegen(StandardToSPIRV.cpp.inc -gen-rewriters) add_public_tablegen_target(MLIRStandardToSPIRVIncGen) -add_llvm_library(MLIRStandardToSPIRVTransforms +add_mlir_conversion_library(MLIRStandardToSPIRVTransforms ConvertStandardToSPIRV.cpp ConvertStandardToSPIRVPass.cpp LegalizeStandardForSPIRV.cpp diff --git a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt --- a/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt +++ b/mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRVectorToLLVM +add_mlir_conversion_library(MLIRVectorToLLVM ConvertVectorToLLVM.cpp ADDITIONAL_HEADER_DIRS diff --git a/mlir/lib/Conversion/VectorToLoops/CMakeLists.txt b/mlir/lib/Conversion/VectorToLoops/CMakeLists.txt --- a/mlir/lib/Conversion/VectorToLoops/CMakeLists.txt +++ b/mlir/lib/Conversion/VectorToLoops/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRVectorToLoops +add_mlir_conversion_library(MLIRVectorToLoops ConvertVectorToLoops.cpp ADDITIONAL_HEADER_DIRS diff --git a/mlir/tools/mlir-cuda-runner/CMakeLists.txt b/mlir/tools/mlir-cuda-runner/CMakeLists.txt --- a/mlir/tools/mlir-cuda-runner/CMakeLists.txt +++ b/mlir/tools/mlir-cuda-runner/CMakeLists.txt @@ -36,20 +36,18 @@ ) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) + get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) set(LIBS - ${dialect_libs} + ${dialect_libs} + ${conversion_libs} LLVMCore LLVMSupport MLIRJitRunner MLIRAnalysis MLIREDSC MLIRExecutionEngine - MLIRGPUtoCUDATransforms - MLIRGPUtoNVVMTransforms MLIRIR - MLIRLoopToStandard MLIRParser - MLIRStandardToLLVM MLIRSupport MLIRTargetLLVMIR MLIRTransforms diff --git a/mlir/tools/mlir-opt/CMakeLists.txt b/mlir/tools/mlir-opt/CMakeLists.txt --- a/mlir/tools/mlir-opt/CMakeLists.txt +++ b/mlir/tools/mlir-opt/CMakeLists.txt @@ -19,23 +19,15 @@ ) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) +get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) set(LIBS ${dialect_libs} + ${conversion_libs} MLIRLoopOpsTransforms MLIRLoopAnalysis MLIRAnalysis - MLIRAffineToStandard MLIRDialect - MLIRLoopsToGPU - MLIRLinalgToLLVM - - MLIRLoopToStandard MLIREDSC - MLIRGPUtoCUDATransforms - MLIRGPUtoNVVMTransforms - MLIRGPUtoROCDLTransforms - MLIRGPUtoSPIRVTransforms - MLIRGPUtoVulkanTransforms MLIROptLib MLIRParser MLIRPass @@ -43,11 +35,8 @@ MLIRQuantizerSupport MLIRQuantizerTransforms MLIRSPIRV - MLIRLinalgToSPIRVTransforms - MLIRStandardToSPIRVTransforms MLIRSPIRVTestPasses MLIRSPIRVTransforms - MLIRStandardToLLVM MLIRTransforms MLIRTransformUtils MLIRTestDialect @@ -55,8 +44,6 @@ MLIRTestPass MLIRTestTransforms MLIRSupport - MLIRVectorToLLVM - MLIRVectorToLoops MLIRIR MLIROptLib LLVMSupport diff --git a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt --- a/mlir/tools/mlir-vulkan-runner/CMakeLists.txt +++ b/mlir/tools/mlir-vulkan-runner/CMakeLists.txt @@ -52,24 +52,20 @@ ) get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS) + get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) set(LIBS - ${dialect_libs} + ${dialect_libs} + ${conversion_libs} LLVMCore LLVMSupport MLIRJitRunner MLIRAnalysis MLIREDSC MLIRExecutionEngine - MLIRGPUtoCUDATransforms - MLIRGPUtoNVVMTransforms - MLIRGPUtoSPIRVTransforms - MLIRGPUtoVulkanTransforms MLIRIR MLIRLLVMIR - MLIRLoopToStandard MLIRParser MLIRSPIRVTransforms - MLIRStandardToLLVM MLIRSupport MLIRTargetLLVMIR MLIRTransforms