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 @@ -1,16 +1,16 @@ if(MLIR_CUDA_CONVERSIONS_ENABLED) - llvm_map_components_to_libnames(nvptx "NVPTX") - add_llvm_library(MLIRGPUtoCUDATransforms ConvertKernelFuncToCubin.cpp ConvertLaunchFuncToCudaCalls.cpp ) target_link_libraries(MLIRGPUtoCUDATransforms + LLVMNVPTXCodeGen + LLVMNVPTXDesc + LLVMNVPTXInfo MLIRGPU MLIRLLVMIR MLIRNVVMIR MLIRPass MLIRTargetNVVMIR - ${nvptx} ) endif() 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 @@ -18,7 +18,7 @@ ${LIB_LIBS} ) -set(LIBS +set(FULL_LINK_LIBS MLIRAnalysis MLIRAffineOps MLIRAffineToStandard @@ -68,8 +68,23 @@ MLIRVectorToLLVM MLIRVectorToLoops ) +set(LIBS + MLIRIR + MLIROptMain + LLVMSupport + LLVMCore + LLVMAsmParser +) + if(MLIR_CUDA_CONVERSIONS_ENABLED) list(APPEND LIBS + LLVMNVPTXCodeGen + LLVMNVPTXDesc + LLVMNVPTXInfo + MLIRTargetNVVMIR + ) + # Order matters here, so insert at front. + list(INSERT FULL_LINK_LIBS 0 MLIRGPUtoCUDATransforms ) endif() @@ -78,7 +93,7 @@ ) llvm_update_compile_flags(mlir-opt) # It is necessary to use whole_archive_link to ensure that all static -# initializers are called. However, whole_archive_link libraries cannot -# also be target_link_libraries -whole_archive_link(mlir-opt ${LIBS}) -target_link_libraries(mlir-opt PRIVATE MLIRIR MLIROptMain LLVMSupport LLVMCore LLVMAsmParser) +# initializers are called. However, whole_archive_link libraries cannot +# also be target_link_libraries. +whole_archive_link(mlir-opt ${FULL_LINK_LIBS}) +target_link_libraries(mlir-opt PRIVATE ${LIBS})