From d661b4b57504b965a37dc30b79bdd5ac36fca9ec Mon Sep 17 00:00:00 2001 From: Nicolas Vasilache Date: Mon, 17 Jul 2023 18:08:00 +0200 Subject: [PATCH] [mlir][test] Fix linking error post test-lower-to-nvvm --- mlir/test/lib/Dialect/CMakeLists.txt | 1 - mlir/test/lib/Dialect/GPU/CMakeLists.txt | 40 +++++++++++++--- .../lib/Dialect/{NVVM => GPU}/TestLowerToNVVM.cpp | 5 ++ mlir/test/lib/Dialect/NVVM/CMakeLists.txt | 54 ---------------------- 4 files changed, 38 insertions(+), 62 deletions(-) rename mlir/test/lib/Dialect/{NVVM => GPU}/TestLowerToNVVM.cpp (99%) delete mode 100644 mlir/test/lib/Dialect/NVVM/CMakeLists.txt diff --git a/mlir/test/lib/Dialect/CMakeLists.txt b/mlir/test/lib/Dialect/CMakeLists.txt index 9344a73..48bde69 100644 --- a/mlir/test/lib/Dialect/CMakeLists.txt +++ b/mlir/test/lib/Dialect/CMakeLists.txt @@ -10,7 +10,6 @@ add_subdirectory(LLVM) add_subdirectory(Math) add_subdirectory(MemRef) add_subdirectory(NVGPU) -add_subdirectory(NVVM) add_subdirectory(SCF) add_subdirectory(Shape) add_subdirectory(SPIRV) diff --git a/mlir/test/lib/Dialect/GPU/CMakeLists.txt b/mlir/test/lib/Dialect/GPU/CMakeLists.txt index 5581904..02db079 100644 --- a/mlir/test/lib/Dialect/GPU/CMakeLists.txt +++ b/mlir/test/lib/Dialect/GPU/CMakeLists.txt @@ -1,23 +1,49 @@ # Exclude tests from libMLIR.so -add_mlir_library(MLIRGPUTestPasses - TestConvertGPUKernelToCubin.cpp - TestConvertGPUKernelToHsaco.cpp - TestGpuMemoryPromotion.cpp - TestGpuRewrite.cpp +get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) - EXCLUDE_FROM_LIBMLIR +set(LIBS + ${conversion_libs} - LINK_LIBS PUBLIC MLIRAffineDialect + MLIRAnalysis + MLIRArithDialect + MLIRBuiltinToLLVMIRTranslation + MLIRExecutionEngine MLIRFuncDialect MLIRGPUDialect MLIRGPUToGPURuntimeTransforms + MLIRGPUTransforms + MLIRIR + MLIRLLVMDialect + MLIRLLVMCommonConversion MLIRLLVMToLLVMIRTranslation + MLIRToLLVMIRTranslationRegistration + MLIRMemRefDialect + MLIRMemRefToLLVM MLIRNVVMDialect MLIRNVVMToLLVMIRTranslation MLIRPass MLIRROCDLDialect MLIRROCDLToLLVMIRTranslation MLIRSCFDialect + MLIRSupport + MLIRTargetLLVMIRExport + MLIRTransforms MLIRTransformUtils + MLIRTranslateLib + MLIRVectorDialect + MLIRVectorToLLVM + ) + +add_mlir_library(MLIRGPUTestPasses + TestConvertGPUKernelToCubin.cpp + TestConvertGPUKernelToHsaco.cpp + TestGpuMemoryPromotion.cpp + TestGpuRewrite.cpp + TestLowerToNVVM.cpp + + EXCLUDE_FROM_LIBMLIR + + LINK_LIBS PUBLIC + ${LIBS} ) diff --git a/mlir/test/lib/Dialect/NVVM/TestLowerToNVVM.cpp b/mlir/test/lib/Dialect/GPU/TestLowerToNVVM.cpp similarity index 99% rename from mlir/test/lib/Dialect/NVVM/TestLowerToNVVM.cpp rename to mlir/test/lib/Dialect/GPU/TestLowerToNVVM.cpp index 2393e6c..57f328d 100644 --- a/mlir/test/lib/Dialect/NVVM/TestLowerToNVVM.cpp +++ b/mlir/test/lib/Dialect/GPU/TestLowerToNVVM.cpp @@ -50,6 +50,7 @@ using namespace mlir; +#if MLIR_CUDA_CONVERSIONS_ENABLED namespace { struct TestLowerToNVVMOptions : public PassPipelineOptions { @@ -187,8 +188,11 @@ void buildGpuPassPipeline(OpPassManager &pm, // Finally we can reconcile unrealized casts. pm.addNestedPass(createReconcileUnrealizedCastsPass()); + +#if MLIR_GPU_TO_CUBIN_PASS_ENABLE pm.addNestedPass(createGpuSerializeToCubinPass( options.cubinTriple, options.cubinChip, options.cubinFeatures)); +#endif // MLIR_GPU_TO_CUBIN_PASS_ENABLE } void buildLowerToNVVMPassPipeline(OpPassManager &pm, @@ -328,3 +332,4 @@ void registerTestLowerToNVVM() { } } // namespace test } // namespace mlir +#endif // MLIR_CUDA_CONVERSIONS_ENABLED diff --git a/mlir/test/lib/Dialect/NVVM/CMakeLists.txt b/mlir/test/lib/Dialect/NVVM/CMakeLists.txt deleted file mode 100644 index eafa81e..0000000 --- a/mlir/test/lib/Dialect/NVVM/CMakeLists.txt +++ /dev/null @@ -1,54 +0,0 @@ -if (MLIR_ENABLE_CUDA_RUNNER) - # Configure CUDA support. Using check_language first allows us to give a - # custom error message. - include(CheckLanguage) - check_language(CUDA) - if (CMAKE_CUDA_COMPILER) - enable_language(CUDA) - else() - message(SEND_ERROR - "Building the mlir cuda runner requires a working CUDA install") - endif() - - # We need the libcuda.so library. - find_library(CUDA_RUNTIME_LIBRARY cuda HINTS ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES} REQUIRED) - - get_property(conversion_libs GLOBAL PROPERTY MLIR_CONVERSION_LIBS) - set(LIBS - ${conversion_libs} - - MLIRAnalysis - MLIRArithDialect - MLIRBuiltinToLLVMIRTranslation - MLIRExecutionEngine - MLIRFuncDialect - MLIRGPUDialect - MLIRIR - MLIRJitRunner - MLIRLLVMDialect - MLIRLLVMCommonConversion - MLIRLLVMToLLVMIRTranslation - MLIRToLLVMIRTranslationRegistration - MLIRMemRefDialect - MLIRMemRefToLLVM - MLIRParser - MLIRSPIRVDialect - MLIRSPIRVTransforms - MLIRSupport - MLIRTargetLLVMIRExport - MLIRTransforms - MLIRTranslateLib - MLIRVectorDialect - MLIRVectorToLLVM - ) - - # Exclude tests from libMLIR.so - add_mlir_library(MLIRNVVMTestPasses - TestLowerToNVVM.cpp - - EXCLUDE_FROM_LIBMLIR - - LINK_LIBS PUBLIC - ${LIBS} - ) -endif() -- 2.7.4