diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt --- a/mlir/CMakeLists.txt +++ b/mlir/CMakeLists.txt @@ -34,6 +34,10 @@ set(MLIR_CUDA_RUNNER_ENABLED 0 CACHE BOOL "Enable building the mlir CUDA runner") set(MLIR_VULKAN_RUNNER_ENABLED 0 CACHE BOOL "Enable building the mlir Vulkan runner") +option(MLIR_INCLUDE_TESTS + "Generate build targets for the MLIR unit tests." + ${LLVM_INCLUDE_TESTS}) + include_directories( "include") include_directories( ${MLIR_INCLUDE_DIR}) @@ -44,8 +48,11 @@ add_subdirectory(include/mlir) add_subdirectory(lib) -add_subdirectory(unittests) -add_subdirectory(test) +if (MLIR_INCLUDE_TESTS) + add_definitions(-DMLIR_INCLUDE_TESTS) + add_subdirectory(unittests) + add_subdirectory(test) +endif() # Tools needs to come late to ensure that MLIR_ALL_LIBS is populated. # Generally things after this point may depend on MLIR_ALL_LIBS or libMLIR.so. add_subdirectory(tools) 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 @@ -10,24 +10,30 @@ AsmParser ) +if(MLIR_INCLUDE_TESTS) + set(test_libs + MLIRAffineTransformsTestPasses + MLIRSPIRVTestPasses + MLIRTestDialect + MLIRTestIR + MLIRTestPass + MLIRTestTransforms + ) +endif() + set(LIBS ${dialect_libs} ${conversion_libs} + ${test_libs} MLIRLoopAnalysis - MLIRAffineTransformsTestPasses MLIRAnalysis MLIRDialect MLIREDSC MLIROptLib MLIRParser MLIRPass - MLIRSPIRVTestPasses MLIRTransforms MLIRTransformUtils - MLIRTestDialect - MLIRTestIR - MLIRTestPass - MLIRTestTransforms MLIRSupport MLIRIR ) diff --git a/mlir/tools/mlir-opt/mlir-opt.cpp b/mlir/tools/mlir-opt/mlir-opt.cpp --- a/mlir/tools/mlir-opt/mlir-opt.cpp +++ b/mlir/tools/mlir-opt/mlir-opt.cpp @@ -93,6 +93,7 @@ "allow-unregistered-dialect", cl::desc("Allow operation with no registered dialects"), cl::init(false)); +#ifdef MLIR_INCLUDE_TESTS void registerTestPasses() { registerConvertToTargetEnvPass(); registerInliner(); @@ -131,6 +132,7 @@ registerTestVectorToSCFPass(); registerVectorizerTestPass(); } +#endif static cl::opt showDialects("show-dialects", @@ -140,7 +142,9 @@ int main(int argc, char **argv) { registerAllDialects(); registerAllPasses(); +#ifdef MLIR_INCLUDE_TESTS registerTestPasses(); +#endif InitLLVM y(argc, argv); // Register any command line options.