[MLIR] Use MLIR_INCLUDE_TESTS to conditionally compile tests.

This is equivalent to what is done for other projects (e.g. clang).

Differential Revision: https://reviews.llvm.org/D80022
This commit is contained in:
Alexandre Rames 2020-05-18 18:44:26 +02:00 committed by Alex Zinenko
parent a4cb9bec1c
commit 23dc948d36
3 changed files with 25 additions and 8 deletions

View File

@ -34,6 +34,10 @@ add_definitions(-DMLIR_CUDA_CONVERSIONS_ENABLED=${MLIR_CUDA_CONVERSIONS_ENABLED}
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(tools/mlir-tblgen)
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)

View File

@ -10,24 +10,30 @@ set(LLVM_LINK_COMPONENTS
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
)

View File

@ -93,6 +93,7 @@ static cl::opt<bool> allowUnregisteredDialects(
"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 @@ void registerTestPasses() {
registerTestVectorToSCFPass();
registerVectorizerTestPass();
}
#endif
static cl::opt<bool>
showDialects("show-dialects",
@ -140,7 +142,9 @@ static cl::opt<bool>
int main(int argc, char **argv) {
registerAllDialects();
registerAllPasses();
#ifdef MLIR_INCLUDE_TESTS
registerTestPasses();
#endif
InitLLVM y(argc, argv);
// Register any command line options.