Index: mlir/CMakeLists.txt =================================================================== --- mlir/CMakeLists.txt +++ mlir/CMakeLists.txt @@ -6,6 +6,11 @@ set(MLIR_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(MLIR_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) +# Make sure that our source directory is on the current cmake module path so that +# we can include cmake files from this directory. +list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules") +include(AddMLIR) + function(mlir_tablegen ofn) tablegen(MLIR ${ARGV} "-I${MLIR_MAIN_SRC_DIR}" "-I${MLIR_INCLUDE_DIR}") set(TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} ${CMAKE_CURRENT_BINARY_DIR}/${ofn} Index: mlir/cmake/modules/AddMLIR.cmake =================================================================== --- /dev/null +++ mlir/cmake/modules/AddMLIR.cmake @@ -0,0 +1,21 @@ +# wrapper around llvm_add_library to enforce LIBTYPE=STATIC for MLIR +macro(add_mlir_library name) + cmake_parse_arguments(ARG + "SHARED;STATIC;MODULE" + "" + "" + ${ARGN}) + + # LIBTYPE=STATIC as the default within MLIR even with BUILD_SHARED_LIBS=ON + # since MLIR cannot be built as shared libraries. + set(LIBTYPE STATIC) + + if(ARG_MODULE) + set(LIBTYPE MODULE) + elseif( ARG_SHARED ) + set(LIBTYPE SHARED) + elseif( ARG_STATIC ) + set(LIBTYPE STATIC) + endif() + llvm_add_library(${name} ${LIBTYPE} ${ARG_UNPARSED_ARGUMENTS}) +endmacro(add_mlir_library) Index: mlir/examples/toy/Ch6/CMakeLists.txt =================================================================== --- mlir/examples/toy/Ch6/CMakeLists.txt +++ mlir/examples/toy/Ch6/CMakeLists.txt @@ -43,6 +43,13 @@ MLIRStandardToLLVM MLIRTargetLLVMIR MLIRTransforms + LLVMMC + LLVMScalarOpts + LLVMInstCombine + LLVMAggressiveInstCombine + LLVMAnalysis + LLVMVectorize + LLVMTarget ) whole_archive_link(toyc-ch6 Index: mlir/examples/toy/Ch7/CMakeLists.txt =================================================================== --- mlir/examples/toy/Ch7/CMakeLists.txt +++ mlir/examples/toy/Ch7/CMakeLists.txt @@ -43,6 +43,13 @@ MLIRStandardToLLVM MLIRTargetLLVMIR MLIRTransforms + LLVMMC + LLVMScalarOpts + LLVMInstCombine + LLVMAggressiveInstCombine + LLVMAnalysis + LLVMVectorize + LLVMTarget ) whole_archive_link(toyc-ch7 Index: mlir/lib/Analysis/CMakeLists.txt =================================================================== --- mlir/lib/Analysis/CMakeLists.txt +++ mlir/lib/Analysis/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRAnalysis STATIC +add_mlir_library(MLIRAnalysis STATIC AffineAnalysis.cpp AffineStructures.cpp CallGraph.cpp @@ -20,10 +20,6 @@ ${MLIR_MAIN_INCLUDE_DIR}/mlir/Analysis ) add_dependencies(MLIRAnalysis - MLIRAffineOps MLIRCallOpInterfacesIncGen MLIRTypeInferOpInterfaceIncGen - MLIRLoopOps - MLIRVectorOps ) -target_link_libraries(MLIRAnalysis MLIRAffineOps MLIRLoopOps MLIRVectorOps) Index: mlir/lib/Conversion/AffineToStandard/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/AffineToStandard/CMakeLists.txt +++ mlir/lib/Conversion/AffineToStandard/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRAffineToStandard +add_mlir_library(MLIRAffineToStandard AffineToStandard.cpp ADDITIONAL_HEADER_DIRS @@ -17,7 +17,10 @@ MLIRAffineToStandard MLIRAffineOps + MLIRLoopOps + MLIRPass MLIRStandardOps + MLIRTransforms MLIRIR LLVMCore LLVMSupport Index: mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt +++ mlir/lib/Conversion/GPUToCUDA/CMakeLists.txt @@ -1,7 +1,7 @@ if(MLIR_CUDA_CONVERSIONS_ENABLED) llvm_map_components_to_libnames(nvptx "NVPTX") - add_llvm_library(MLIRGPUtoCUDATransforms + add_mlir_library(MLIRGPUtoCUDATransforms ConvertKernelFuncToCubin.cpp ConvertLaunchFuncToCudaCalls.cpp ) Index: mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/GPUToNVVM/CMakeLists.txt +++ 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_library(MLIRGPUtoNVVMTransforms LowerGpuOpsToNVVMOps.cpp ) @@ -15,4 +15,5 @@ MLIRLLVMIR MLIRNVVMIR MLIRPass + MLIRStandardToLLVM ) Index: mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt +++ mlir/lib/Conversion/GPUToROCDL/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRGPUtoROCDLTransforms +add_mlir_library(MLIRGPUtoROCDLTransforms LowerGpuOpsToROCDLOps.cpp ) target_link_libraries(MLIRGPUtoROCDLTransforms @@ -7,4 +7,5 @@ MLIRLLVMIR MLIRROCDLIR MLIRPass + MLIRStandardToLLVM ) Index: mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt +++ mlir/lib/Conversion/GPUToSPIRV/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRGPUtoSPIRVTransforms +add_mlir_library(MLIRGPUtoSPIRVTransforms ConvertGPUToSPIRV.cpp ConvertGPUToSPIRVPass.cpp ) Index: mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt +++ mlir/lib/Conversion/LinalgToLLVM/CMakeLists.txt @@ -1,13 +1,16 @@ -add_llvm_library(MLIRLinalgToLLVM +add_mlir_library(MLIRLinalgToLLVM LinalgToLLVM.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/LinalgToLLVM ) set(LIBS + MLIREDSC MLIRLinalgOps MLIRLLVMIR MLIRTransforms + MLIRAffineToStandard + MLIRVectorToLLVM LLVMCore LLVMSupport ) Index: mlir/lib/Conversion/LoopToStandard/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/LoopToStandard/CMakeLists.txt +++ mlir/lib/Conversion/LoopToStandard/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRLoopToStandard +add_mlir_library(MLIRLoopToStandard ConvertLoopToStandard.cpp ADDITIONAL_HEADER_DIRS Index: mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt +++ mlir/lib/Conversion/LoopsToGPU/CMakeLists.txt @@ -1,5 +1,6 @@ set(LIBS MLIRAffineOps + MLIRAffineToStandard MLIRGPU MLIRIR MLIRLinalgOps @@ -10,7 +11,7 @@ LLVMSupport ) -add_llvm_library(MLIRLoopsToGPU +add_mlir_library(MLIRLoopsToGPU LoopsToGPU.cpp LoopsToGPUPass.cpp Index: mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt +++ mlir/lib/Conversion/StandardToLLVM/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRStandardToLLVM +add_mlir_library(MLIRStandardToLLVM ConvertStandardToLLVM.cpp ADDITIONAL_HEADER_DIRS Index: mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/StandardToSPIRV/CMakeLists.txt +++ 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_library(MLIRStandardToSPIRVTransforms ConvertStandardToSPIRV.cpp ConvertStandardToSPIRVPass.cpp LegalizeStandardForSPIRV.cpp Index: mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt +++ mlir/lib/Conversion/VectorToLLVM/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRVectorToLLVM +add_mlir_library(MLIRVectorToLLVM ConvertVectorToLLVM.cpp ADDITIONAL_HEADER_DIRS @@ -6,6 +6,8 @@ ) set(LIBS MLIRLLVMIR + MLIRStandardOps + MLIRStandardToLLVM MLIRTransforms LLVMCore LLVMSupport Index: mlir/lib/Conversion/VectorToLoops/CMakeLists.txt =================================================================== --- mlir/lib/Conversion/VectorToLoops/CMakeLists.txt +++ mlir/lib/Conversion/VectorToLoops/CMakeLists.txt @@ -1,10 +1,12 @@ -add_llvm_library(MLIRVectorToLoops +add_mlir_library(MLIRVectorToLoops ConvertVectorToLoops.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Conversion/VectorToLoops ) set(LIBS + MLIREDSC + MLIRIR MLIRLLVMIR MLIRTransforms LLVMCore Index: mlir/lib/Dialect/AffineOps/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/AffineOps/CMakeLists.txt +++ mlir/lib/Dialect/AffineOps/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRAffineOps +add_mlir_library(MLIRAffineOps AffineOps.cpp DialectRegistration.cpp Index: mlir/lib/Dialect/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/CMakeLists.txt +++ mlir/lib/Dialect/CMakeLists.txt @@ -10,7 +10,7 @@ add_subdirectory(StandardOps) add_subdirectory(VectorOps) -add_llvm_library(MLIRDialect +add_mlir_library(MLIRDialect Traits.cpp ADDITIONAL_HEADER_DIRS Index: mlir/lib/Dialect/FxpMathOps/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/FxpMathOps/CMakeLists.txt +++ mlir/lib/Dialect/FxpMathOps/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRFxpMathOps +add_mlir_library(MLIRFxpMathOps IR/FxpMathOps.cpp IR/DialectRegistration.cpp Transforms/LowerUniformRealMath.cpp @@ -8,8 +8,16 @@ ) add_dependencies(MLIRFxpMathOps MLIRFxpMathOpsIncGen - MLIRQuantOps MLIRIR MLIRPass + MLIRQuantOps MLIRSupport MLIRStandardOps) + +target_link_libraries(MLIRFxpMathOps + MLIRIR + MLIRPass + MLIRQuantOps + MLIRSupport + MLIRStandardOps) + Index: mlir/lib/Dialect/GPU/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/GPU/CMakeLists.txt +++ mlir/lib/Dialect/GPU/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRGPU +add_mlir_library(MLIRGPU IR/GPUDialect.cpp IR/DialectRegistration.cpp Transforms/KernelOutlining.cpp Index: mlir/lib/Dialect/LLVMIR/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/LLVMIR/CMakeLists.txt +++ mlir/lib/Dialect/LLVMIR/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRLLVMIR +add_mlir_library(MLIRLLVMIR IR/LLVMDialect.cpp ADDITIONAL_HEADER_DIRS @@ -7,16 +7,16 @@ add_dependencies(MLIRLLVMIR MLIRLLVMOpsIncGen MLIRLLVMConversionsIncGen LLVMAsmParser LLVMCore LLVMSupport) target_link_libraries(MLIRLLVMIR LLVMAsmParser LLVMCore LLVMSupport MLIRIR) -add_llvm_library(MLIRNVVMIR +add_mlir_library(MLIRNVVMIR IR/NVVMDialect.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Dialect/LLVMIR ) add_dependencies(MLIRNVVMIR MLIRNVVMOpsIncGen MLIRNVVMConversionsIncGen LLVMAsmParser LLVMCore LLVMSupport) -target_link_libraries(MLIRNVVMIR LLVMAsmParser LLVMCore LLVMSupport MLIRIR) +target_link_libraries(MLIRNVVMIR LLVMAsmParser LLVMCore LLVMSupport MLIRIR MLIRLLVMIR) -add_llvm_library(MLIRROCDLIR +add_mlir_library(MLIRROCDLIR IR/ROCDLDialect.cpp ADDITIONAL_HEADER_DIRS Index: mlir/lib/Dialect/Linalg/Analysis/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/Linalg/Analysis/CMakeLists.txt +++ mlir/lib/Dialect/Linalg/Analysis/CMakeLists.txt @@ -5,7 +5,7 @@ ) -add_llvm_library(MLIRLinalgAnalysis +add_mlir_library(MLIRLinalgAnalysis DependenceAnalysis.cpp ADDITIONAL_HEADER_DIRS Index: mlir/lib/Dialect/Linalg/EDSC/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/Linalg/EDSC/CMakeLists.txt +++ mlir/lib/Dialect/Linalg/EDSC/CMakeLists.txt @@ -7,7 +7,7 @@ MLIRStandardOps ) -add_llvm_library(MLIRLinalgEDSC +add_mlir_library(MLIRLinalgEDSC Builders.cpp ADDITIONAL_HEADER_DIRS Index: mlir/lib/Dialect/Linalg/IR/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/Linalg/IR/CMakeLists.txt +++ mlir/lib/Dialect/Linalg/IR/CMakeLists.txt @@ -3,7 +3,7 @@ MLIRIR ) -add_llvm_library(MLIRLinalgOps +add_mlir_library(MLIRLinalgOps LinalgOps.cpp LinalgTypes.cpp LinalgRegistration.cpp Index: mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt +++ mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt @@ -16,7 +16,7 @@ MLIRVectorOps ) -add_llvm_library(MLIRLinalgTransforms +add_mlir_library(MLIRLinalgTransforms Fusion.cpp LinalgTransforms.cpp LinalgToLoops.cpp Index: mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt +++ mlir/lib/Dialect/Linalg/Utils/CMakeLists.txt @@ -9,7 +9,7 @@ MLIRTransformUtils ) -add_llvm_library(MLIRLinalgUtils +add_mlir_library(MLIRLinalgUtils Utils.cpp Index: mlir/lib/Dialect/LoopOps/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/LoopOps/CMakeLists.txt +++ mlir/lib/Dialect/LoopOps/CMakeLists.txt @@ -1,9 +1,9 @@ file(GLOB globbed *.c *.cpp) -add_llvm_library(MLIRLoopOps +add_mlir_library(MLIRLoopOps ${globbed} ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/LoopOps ) -add_dependencies(MLIRLoopOps MLIRLoopLikeInterfaceIncGen MLIRLoopOpsIncGen MLIRStandardOps LLVMSupport) -target_link_libraries(MLIRLoopOps LLVMSupport) +add_dependencies(MLIRLoopOps MLIRIR MLIRLoopLikeInterfaceIncGen MLIRLoopOpsIncGen MLIRStandardOps LLVMSupport) +target_link_libraries(MLIRLoopOps MLIRIR MLIRStandardOps LLVMSupport) Index: mlir/lib/Dialect/QuantOps/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/QuantOps/CMakeLists.txt +++ mlir/lib/Dialect/QuantOps/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRQuantOps +add_mlir_library(MLIRQuantOps IR/DialectRegistration.cpp IR/QuantOps.cpp IR/QuantTypes.cpp @@ -17,5 +17,16 @@ MLIRIR MLIRPass MLIRQuantOpsIncGen + MLIRStandardOps MLIRSupport - MLIRStandardOps) + MLIRTransformUtils + ) + +target_link_libraries(MLIRQuantOps + MLIRIR + MLIRPass + MLIRStandardOps + MLIRSupport + MLIRTransformUtils + ) + Index: mlir/lib/Dialect/SDBM/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/SDBM/CMakeLists.txt +++ mlir/lib/Dialect/SDBM/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRSDBM +add_mlir_library(MLIRSDBM SDBM.cpp SDBMExpr.cpp SDBMDialect.cpp Index: mlir/lib/Dialect/SPIRV/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/SPIRV/CMakeLists.txt +++ mlir/lib/Dialect/SPIRV/CMakeLists.txt @@ -2,7 +2,7 @@ mlir_tablegen(SPIRVCanonicalization.inc -gen-rewriters) add_public_tablegen_target(MLIRSPIRVCanonicalizationIncGen) -add_llvm_library(MLIRSPIRV +add_mlir_library(MLIRSPIRV DialectRegistration.cpp LayoutUtils.cpp SPIRVDialect.cpp @@ -28,6 +28,7 @@ MLIRIR MLIRParser MLIRSupport + MLIRTranslation MLIRTransforms) add_subdirectory(Serialization) Index: mlir/lib/Dialect/SPIRV/Serialization/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/SPIRV/Serialization/CMakeLists.txt +++ mlir/lib/Dialect/SPIRV/Serialization/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRSPIRVSerialization +add_mlir_library(MLIRSPIRVSerialization Deserializer.cpp Serializer.cpp SPIRVBinaryUtils.cpp Index: mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt +++ mlir/lib/Dialect/SPIRV/Transforms/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRSPIRVTransforms +add_mlir_library(MLIRSPIRVTransforms DecorateSPIRVCompositeTypeLayoutPass.cpp LowerABIAttributesPass.cpp Index: mlir/lib/Dialect/StandardOps/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/StandardOps/CMakeLists.txt +++ mlir/lib/Dialect/StandardOps/CMakeLists.txt @@ -1,5 +1,5 @@ file(GLOB globbed *.c *.cpp) -add_llvm_library(MLIRStandardOps +add_mlir_library(MLIRStandardOps ${globbed} ADDITIONAL_HEADER_DIRS Index: mlir/lib/Dialect/VectorOps/CMakeLists.txt =================================================================== --- mlir/lib/Dialect/VectorOps/CMakeLists.txt +++ mlir/lib/Dialect/VectorOps/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRVectorOps +add_mlir_library(MLIRVectorOps DialectRegistration.cpp VectorOps.cpp VectorTransforms.cpp @@ -10,4 +10,4 @@ add_dependencies(MLIRVectorOps MLIRVectorOpsIncGen) add_dependencies(MLIRVectorOps MLIRVectorTransformPatternsIncGen) -target_link_libraries(MLIRVectorOps MLIRIR) +target_link_libraries(MLIRVectorOps MLIRIR MLIRAffineOps MLIRAnalysis MLIRStandardOps) Index: mlir/lib/EDSC/CMakeLists.txt =================================================================== --- mlir/lib/EDSC/CMakeLists.txt +++ mlir/lib/EDSC/CMakeLists.txt @@ -5,7 +5,7 @@ Intrinsics.cpp ) -add_llvm_library(MLIREDSC +add_mlir_library(MLIREDSC Builders.cpp Helpers.cpp Intrinsics.cpp @@ -22,14 +22,14 @@ MLIRVectorOps ) -add_llvm_library(MLIREDSCInterface +add_mlir_library(MLIREDSCInterface CoreAPIs.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/EDSC ) add_dependencies(MLIREDSCInterface MLIRIR) -target_link_libraries(MLIREDSC +target_link_libraries(MLIREDSCInterface PUBLIC MLIRIR MLIRSupport Index: mlir/lib/ExecutionEngine/CMakeLists.txt =================================================================== --- mlir/lib/ExecutionEngine/CMakeLists.txt +++ mlir/lib/ExecutionEngine/CMakeLists.txt @@ -1,5 +1,5 @@ llvm_map_components_to_libnames(outlibs "nativecodegen" "IPO") -add_llvm_library(MLIRExecutionEngine +add_mlir_library(MLIRExecutionEngine ExecutionEngine.cpp OptUtils.cpp @@ -7,14 +7,19 @@ ${MLIR_MAIN_INCLUDE_DIR}/mlir/ExecutionEngine ) target_link_libraries(MLIRExecutionEngine - MLIRLLVMIR MLIRTargetLLVMIR + LLVMAggressiveInstCombine + LLVMAnalysis LLVMBitReader LLVMBitWriter LLVMExecutionEngine + LLVMInstCombine + LLVMMC LLVMOrcJIT + LLVMScalarOpts LLVMSupport + LLVMTarget LLVMTransformUtils - + LLVMVectorize ${outlibs}) Index: mlir/lib/IR/CMakeLists.txt =================================================================== --- mlir/lib/IR/CMakeLists.txt +++ mlir/lib/IR/CMakeLists.txt @@ -1,5 +1,5 @@ file(GLOB globbed *.c *.cpp) -add_llvm_library(MLIRIR +add_mlir_library(MLIRIR ${globbed} ADDITIONAL_HEADER_DIRS Index: mlir/lib/Parser/CMakeLists.txt =================================================================== --- mlir/lib/Parser/CMakeLists.txt +++ mlir/lib/Parser/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRParser +add_mlir_library(MLIRParser Lexer.cpp Parser.cpp Token.cpp Index: mlir/lib/Pass/CMakeLists.txt =================================================================== --- mlir/lib/Pass/CMakeLists.txt +++ mlir/lib/Pass/CMakeLists.txt @@ -1,5 +1,5 @@ file(GLOB globbed *.c *.cpp) -add_llvm_library(MLIRPass +add_mlir_library(MLIRPass ${globbed} ADDITIONAL_HEADER_DIRS Index: mlir/lib/Quantizer/CMakeLists.txt =================================================================== --- mlir/lib/Quantizer/CMakeLists.txt +++ mlir/lib/Quantizer/CMakeLists.txt @@ -1,5 +1,5 @@ # Support. -add_llvm_library(MLIRQuantizerSupport +add_mlir_library(MLIRQuantizerSupport Support/Configuration.cpp Support/ConstraintAnalysisGraph.cpp Support/Metadata.cpp @@ -13,21 +13,32 @@ add_dependencies(MLIRQuantizerSupport MLIRIR MLIRQuantOps + MLIRStandardOps MLIRSupport - MLIRStandardOps) + ) + +target_link_libraries(MLIRQuantizerSupport + MLIRIR + MLIRQuantOps + MLIRStandardOps + MLIRSupport + ) # Configurations. -add_llvm_library(MLIRQuantizerFxpMathConfig +add_mlir_library(MLIRQuantizerFxpMathConfig Configurations/FxpMathConfig.cpp ADDITIONAL_HEADER_DIRS ) add_dependencies(MLIRQuantizerFxpMathConfig + MLIRFxpMathOps MLIRFxpMathOpsIncGen MLIRQuantizerSupport) - +target_link_libraries(MLIRQuantizerFxpMathConfig + MLIRFxpMathOps + MLIRQuantizerSupport) # Transforms. -add_llvm_library(MLIRQuantizerTransforms +add_mlir_library(MLIRQuantizerTransforms Transforms/AddDefaultStatsTestPass.cpp Transforms/InferQuantizedTypesPass.cpp Transforms/RemoveInstrumentationPass.cpp @@ -39,6 +50,6 @@ MLIRQuantizerSupport MLIRPass) target_link_libraries(MLIRQuantizerTransforms - MLIRQuantizerFxpMathConfig - MLIRQuantizerSupport - MLIRPass) + MLIRPass + MLIRQuantizerFxpMathConfig + MLIRQuantizerSupport) Index: mlir/lib/Support/CMakeLists.txt =================================================================== --- mlir/lib/Support/CMakeLists.txt +++ mlir/lib/Support/CMakeLists.txt @@ -7,7 +7,7 @@ TranslateClParser.cpp ) -add_llvm_library(MLIRSupport +add_mlir_library(MLIRSupport FileUtilities.cpp StorageUniquer.cpp ToolUtilities.cpp @@ -17,7 +17,7 @@ ) target_link_libraries(MLIRSupport LLVMSupport ${LLVM_PTHREAD_LIB}) -add_llvm_library(MLIROptMain +add_mlir_library(MLIROptMain MlirOptMain.cpp ADDITIONAL_HEADER_DIRS @@ -26,29 +26,30 @@ target_link_libraries(MLIROptMain MLIRPass LLVMSupport + MLIRParser MLIRSupport ) -add_llvm_library(MLIRTranslateClParser +add_mlir_library(MLIRTranslateClParser TranslateClParser.cpp ADDITIONAL_HEADER_DIRS ${MLIR_MAIN_INCLUDE_DIR}/mlir/Support ) -target_link_libraries(MLIRTranslateClParser LLVMSupport) +target_link_libraries(MLIRTranslateClParser MLIRParser MLIRTranslation LLVMSupport) -add_llvm_library(MLIRJitRunner +add_mlir_library(MLIRJitRunner JitRunner.cpp ) target_link_libraries(MLIRJitRunner PRIVATE - MLIRExecutionEngine - MLIRIR - MLIRParser - MLIRStandardOps - MLIRTargetLLVMIR - MLIRTransforms - MLIRStandardToLLVM - MLIRSupport - LLVMCore - LLVMSupport -) + MLIRExecutionEngine + MLIRIR + MLIRParser + MLIRStandardOps + MLIRStandardToLLVM + MLIRSupport + MLIRTargetLLVMIR + MLIRTransforms + LLVMCore + LLVMSupport + ) Index: mlir/lib/TableGen/CMakeLists.txt =================================================================== --- mlir/lib/TableGen/CMakeLists.txt +++ mlir/lib/TableGen/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(LLVMMLIRTableGen +add_mlir_library(LLVMMLIRTableGen Argument.cpp Attribute.cpp Constraint.cpp Index: mlir/lib/Target/CMakeLists.txt =================================================================== --- mlir/lib/Target/CMakeLists.txt +++ mlir/lib/Target/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRTargetLLVMIRModuleTranslation +add_mlir_library(MLIRTargetLLVMIRModuleTranslation LLVMIR/ModuleTranslation.cpp ADDITIONAL_HEADER_DIRS @@ -9,7 +9,7 @@ target_link_libraries(MLIRTargetLLVMIRModuleTranslation MLIRLLVMIR LLVMCore LLVMIRReader LLVMSupport LLVMTransformUtils MLIRTranslation) -add_llvm_library(MLIRTargetLLVMIR +add_mlir_library(MLIRTargetLLVMIR LLVMIR/ConvertFromLLVMIR.cpp LLVMIR/ConvertToLLVMIR.cpp @@ -17,7 +17,7 @@ ${MLIR_MAIN_INCLUDE_DIR}/mlir/Target/LLVMIR ) target_link_libraries(MLIRTargetLLVMIR MLIRTargetLLVMIRModuleTranslation) -add_llvm_library(MLIRTargetNVVMIR +add_mlir_library(MLIRTargetNVVMIR LLVMIR/ConvertToNVVMIR.cpp ADDITIONAL_HEADER_DIRS @@ -32,7 +32,7 @@ MLIRNVVMIR MLIRTargetLLVMIRModuleTranslation ) -add_llvm_library(MLIRTargetROCDLIR +add_mlir_library(MLIRTargetROCDLIR LLVMIR/ConvertToROCDLIR.cpp ADDITIONAL_HEADER_DIRS Index: mlir/lib/Transforms/CMakeLists.txt =================================================================== --- mlir/lib/Transforms/CMakeLists.txt +++ mlir/lib/Transforms/CMakeLists.txt @@ -1,6 +1,6 @@ add_subdirectory(Utils) -add_llvm_library(MLIRTransforms +add_mlir_library(MLIRTransforms AffineDataCopyGeneration.cpp AffineLoopInvariantCodeMotion.cpp Canonicalizer.cpp Index: mlir/lib/Transforms/Utils/CMakeLists.txt =================================================================== --- mlir/lib/Transforms/Utils/CMakeLists.txt +++ mlir/lib/Transforms/Utils/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRTransformUtils +add_mlir_library(MLIRTransformUtils FoldUtils.cpp GreedyPatternRewriteDriver.cpp InliningUtils.cpp Index: mlir/lib/Translation/CMakeLists.txt =================================================================== --- mlir/lib/Translation/CMakeLists.txt +++ mlir/lib/Translation/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRTranslation +add_mlir_library(MLIRTranslation Translation.cpp ADDITIONAL_HEADER_DIRS Index: mlir/test/Dialect/SPIRV/CMakeLists.txt =================================================================== --- mlir/test/Dialect/SPIRV/CMakeLists.txt +++ mlir/test/Dialect/SPIRV/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRSPIRVTestPasses +add_mlir_library(MLIRSPIRVTestPasses TestAvailability.cpp ADDITIONAL_HEADER_DIRS Index: mlir/test/lib/IR/CMakeLists.txt =================================================================== --- mlir/test/lib/IR/CMakeLists.txt +++ mlir/test/lib/IR/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRTestIR +add_mlir_library(MLIRTestIR TestFunc.cpp TestMatchers.cpp TestSymbolUses.cpp @@ -12,4 +12,5 @@ ) target_link_libraries(MLIRTestIR MLIRPass + MLIRStandardOps ) Index: mlir/test/lib/Pass/CMakeLists.txt =================================================================== --- mlir/test/lib/Pass/CMakeLists.txt +++ mlir/test/lib/Pass/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRTestPass +add_mlir_library(MLIRTestPass TestPassManager.cpp ADDITIONAL_HEADER_DIRS Index: mlir/test/lib/TestDialect/CMakeLists.txt =================================================================== --- mlir/test/lib/TestDialect/CMakeLists.txt +++ mlir/test/lib/TestDialect/CMakeLists.txt @@ -11,7 +11,7 @@ mlir_tablegen(TestPatterns.inc -gen-rewriters) add_public_tablegen_target(MLIRTestOpsIncGen) -add_llvm_library(MLIRTestDialect +add_mlir_library(MLIRTestDialect TestDialect.cpp TestPatterns.cpp ) @@ -24,5 +24,7 @@ target_link_libraries(MLIRTestDialect MLIRDialect MLIRIR + MLIRPass + MLIRTransforms LLVMSupport ) Index: mlir/test/lib/Transforms/CMakeLists.txt =================================================================== --- mlir/test/lib/Transforms/CMakeLists.txt +++ mlir/test/lib/Transforms/CMakeLists.txt @@ -1,4 +1,4 @@ -add_llvm_library(MLIRTestTransforms +add_mlir_library(MLIRTestTransforms TestCallGraph.cpp TestConstantFold.cpp TestLoopFusion.cpp @@ -35,4 +35,5 @@ MLIRPass MLIRTestDialect MLIRVectorOps + MLIRVectorToLoops ) Index: mlir/test/mlir-cpu-runner/CMakeLists.txt =================================================================== --- mlir/test/mlir-cpu-runner/CMakeLists.txt +++ mlir/test/mlir-cpu-runner/CMakeLists.txt @@ -4,12 +4,12 @@ mlir_runner_utils.cpp ) -add_llvm_library(cblas SHARED cblas.cpp) +add_mlir_library(cblas SHARED cblas.cpp) target_compile_definitions(cblas PRIVATE cblas_EXPORTS) -add_llvm_library(cblas_interface SHARED cblas_interface.cpp) +add_mlir_library(cblas_interface SHARED cblas_interface.cpp) target_link_libraries(cblas_interface PRIVATE cblas) target_compile_definitions(cblas_interface PRIVATE cblas_interface_EXPORTS) -add_llvm_library(mlir_runner_utils SHARED mlir_runner_utils.cpp) +add_mlir_library(mlir_runner_utils SHARED mlir_runner_utils.cpp) target_compile_definitions(mlir_runner_utils PRIVATE mlir_runner_utils_EXPORTS) Index: mlir/tools/mlir-cpu-runner/CMakeLists.txt =================================================================== --- mlir/tools/mlir-cpu-runner/CMakeLists.txt +++ mlir/tools/mlir-cpu-runner/CMakeLists.txt @@ -20,4 +20,11 @@ MLIRSupport LLVMCore LLVMSupport + LLVMMC + LLVMScalarOpts + LLVMInstCombine + LLVMAggressiveInstCombine + LLVMAnalysis + LLVMVectorize + LLVMTarget ) Index: mlir/tools/mlir-cuda-runner/CMakeLists.txt =================================================================== --- mlir/tools/mlir-cuda-runner/CMakeLists.txt +++ mlir/tools/mlir-cuda-runner/CMakeLists.txt @@ -23,7 +23,7 @@ # We need the libcuda.so library. find_library(CUDA_RUNTIME_LIBRARY cuda) - add_llvm_library(cuda-runtime-wrappers SHARED + add_mlir_library(cuda-runtime-wrappers SHARED cuda-runtime-wrappers.cpp ) target_include_directories(cuda-runtime-wrappers Index: mlir/tools/mlir-opt/CMakeLists.txt =================================================================== --- mlir/tools/mlir-opt/CMakeLists.txt +++ mlir/tools/mlir-opt/CMakeLists.txt @@ -10,10 +10,10 @@ MLIRTransforms MLIRSupport ) -add_llvm_library(MLIRMlirOptLib +add_mlir_library(MLIRMlirOptLib mlir-opt.cpp ) -target_link_libraries(MLIRMlirOptLib ${LIB_LIBS}) +target_link_libraries(MLIRMlirOptLib MLIROptMain ${LIB_LIBS}) set(LIBS MLIRAnalysis