mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-24 12:34:19 +00:00

The execution engine would not be functional anyway, we're already disabling the tests, this also disable the rest of the code. Anecdotally this reduces the number of static library built when the builtin target is disabled goes from 236 to 218. Here is the complete list of LLVM targets built when running `ninja check-mlir`: libLLVMAggressiveInstCombine.a libLLVMAnalysis.a libLLVMAsmParser.a libLLVMBinaryFormat.a libLLVMBitReader.a libLLVMBitstreamReader.a libLLVMBitWriter.a libLLVMCore.a libLLVMDebugInfoCodeView.a libLLVMDebugInfoDWARF.a libLLVMDemangle.a libLLVMFileCheck.a libLLVMFrontendOpenMP.a libLLVMInstCombine.a libLLVMIRReader.a libLLVMMC.a libLLVMMCParser.a libLLVMObject.a libLLVMProfileData.a libLLVMRemarks.a libLLVMScalarOpts.a libLLVMSupport.a libLLVMTableGen.a libLLVMTableGenGlobalISel.a libLLVMTextAPI.a libLLVMTransformUtils.a Differential Revision: https://reviews.llvm.org/D117287
170 lines
4.7 KiB
CMake
170 lines
4.7 KiB
CMake
add_subdirectory(CAPI)
|
|
add_subdirectory(lib)
|
|
|
|
if (MLIR_ENABLE_BINDINGS_PYTHON)
|
|
add_subdirectory(python)
|
|
endif()
|
|
|
|
# Passed to lit.site.cfg.py.so that the out of tree Standalone dialect test
|
|
# can find MLIR's CMake configuration
|
|
set(MLIR_CMAKE_DIR
|
|
"${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/cmake/mlir")
|
|
|
|
# Passed to lit.site.cfg.py.in to set up the path where to find the libraries
|
|
# for linalg integration tests.
|
|
set(MLIR_DIALECT_LINALG_INTEGRATION_TEST_LIB_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
set(MLIR_RUNNER_UTILS_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
|
|
# Passed to lit.site.cfg.py.in to set up the path where to find the libraries
|
|
# for the mlir spirv / vulkan runner tests.
|
|
set(MLIR_SPIRV_WRAPPER_LIBRARY_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
set(MLIR_VULKAN_WRAPPER_LIBRARY_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
|
|
if (MLIR_INCLUDE_INTEGRATION_TESTS)
|
|
set(INTEL_SDE_EXECUTABLE "" CACHE STRING
|
|
"If set, arch-specific integration tests are run with Intel SDE.")
|
|
option(MLIR_RUN_AMX_TESTS "Run AMX tests.")
|
|
option(MLIR_RUN_X86VECTOR_TESTS "Run X86Vector tests.")
|
|
option(MLIR_RUN_CUDA_TENSOR_CORE_TESTS "Run CUDA Tensor core WMMA tests.")
|
|
# Passed to lit.site.cfg.py.in to set up the path where to find the libraries.
|
|
set(MLIR_INTEGRATION_TEST_DIR ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
|
|
|
|
|
# The native target may not be enabled when cross compiling, raise an error.
|
|
if(NOT TARGET ${LLVM_NATIVE_ARCH})
|
|
message(FATAL_ERROR "MLIR_INCLUDE_INTEGRATION_TESTS requires a native target")
|
|
endif()
|
|
|
|
# Copy test data over.
|
|
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/Integration/data/mttkrp_b.tns
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Integration/data/test.mtx
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Integration/data/test_symmetric.mtx
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Integration/data/test.tns
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Integration/data/wide.mtx
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Integration/data/zero.mtx
|
|
DESTINATION ${MLIR_INTEGRATION_TEST_DIR}/data/)
|
|
endif()
|
|
|
|
llvm_canonicalize_cmake_booleans(
|
|
LLVM_BUILD_EXAMPLES
|
|
MLIR_ENABLE_BINDINGS_PYTHON
|
|
MLIR_ENABLE_CUDA_CONVERSIONS
|
|
MLIR_ENABLE_CUDA_RUNNER
|
|
MLIR_ENABLE_ROCM_CONVERSIONS
|
|
MLIR_ENABLE_ROCM_RUNNER
|
|
MLIR_ENABLE_SPIRV_CPU_RUNNER
|
|
MLIR_ENABLE_VULKAN_RUNNER
|
|
MLIR_INCLUDE_INTEGRATION_TESTS
|
|
MLIR_RUN_AMX_TESTS
|
|
MLIR_RUN_CUDA_TENSOR_CORE_TESTS
|
|
MLIR_RUN_X86VECTOR_TESTS
|
|
)
|
|
|
|
configure_lit_site_cfg(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py
|
|
MAIN_CONFIG
|
|
${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py
|
|
)
|
|
configure_lit_site_cfg(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg.py
|
|
MAIN_CONFIG
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.cfg.py
|
|
)
|
|
|
|
set(MLIR_TEST_DEPENDS
|
|
FileCheck count not split-file
|
|
mlir-capi-ir-test
|
|
mlir-capi-llvm-test
|
|
mlir-capi-pass-test
|
|
mlir-capi-sparse-tensor-test
|
|
mlir-capi-quant-test
|
|
mlir-capi-pdl-test
|
|
mlir-linalg-ods-yaml-gen
|
|
mlir-lsp-server
|
|
mlir-opt
|
|
mlir-pdll
|
|
mlir-reduce
|
|
mlir-tblgen
|
|
mlir-translate
|
|
)
|
|
|
|
# The native target may not be enabled, in this case we won't
|
|
# run tests that involves executing on the host: do not build
|
|
# useless binaries.
|
|
if(TARGET ${LLVM_NATIVE_ARCH})
|
|
list(APPEND MLIR_TEST_DEPENDS
|
|
mlir-cpu-runner
|
|
llc
|
|
mlir_async_runtime
|
|
mlir-capi-execution-engine-test
|
|
mlir_c_runner_utils
|
|
mlir_runner_utils
|
|
)
|
|
endif()
|
|
|
|
if (MLIR_INCLUDE_INTEGRATION_TESTS)
|
|
list(APPEND MLIR_TEST_DEPENDS lli)
|
|
endif()
|
|
|
|
if(MLIR_ENABLE_CUDA_RUNNER)
|
|
list(APPEND MLIR_TEST_DEPENDS mlir_cuda_runtime)
|
|
endif()
|
|
|
|
if(MLIR_ENABLE_ROCM_RUNNER)
|
|
list(APPEND MLIR_TEST_DEPENDS mlir_rocm_runtime)
|
|
endif()
|
|
|
|
list(APPEND MLIR_TEST_DEPENDS MLIRUnitTests)
|
|
|
|
if(LLVM_BUILD_EXAMPLES)
|
|
list(APPEND MLIR_TEST_DEPENDS
|
|
toyc-ch1
|
|
toyc-ch2
|
|
toyc-ch3
|
|
toyc-ch4
|
|
toyc-ch5
|
|
toyc-ch6
|
|
toyc-ch7
|
|
)
|
|
endif()
|
|
|
|
if(MLIR_ENABLE_SPIRV_CPU_RUNNER)
|
|
add_subdirectory(mlir-spirv-cpu-runner)
|
|
list(APPEND MLIR_TEST_DEPENDS
|
|
mlir-spirv-cpu-runner
|
|
mlir_test_spirv_cpu_runner_c_wrappers
|
|
)
|
|
endif()
|
|
|
|
if(MLIR_ENABLE_VULKAN_RUNNER)
|
|
list(APPEND MLIR_TEST_DEPENDS
|
|
mlir-vulkan-runner
|
|
)
|
|
endif()
|
|
|
|
if(MLIR_ENABLE_BINDINGS_PYTHON)
|
|
list(APPEND MLIR_TEST_DEPENDS
|
|
MLIRPythonModules
|
|
)
|
|
endif()
|
|
|
|
# This target can be used to just build the dependencies
|
|
# for the check-mlir target without executing the tests.
|
|
# This is useful for bots when splitting the build step
|
|
# from the testing step.
|
|
add_custom_target(check-mlir-build-only
|
|
DEPENDS ${MLIR_TEST_DEPENDS}
|
|
)
|
|
|
|
add_lit_testsuite(check-mlir "Running the MLIR regression tests"
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS ${MLIR_TEST_DEPENDS}
|
|
)
|
|
set_target_properties(check-mlir PROPERTIES FOLDER "Tests")
|
|
|
|
add_lit_testsuites(MLIR ${CMAKE_CURRENT_SOURCE_DIR}
|
|
DEPENDS ${MLIR_TEST_DEPENDS}
|
|
)
|