mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-25 06:40:18 +00:00
58dada5f0a
Add a few tests to make sure we get the expected instruction for the WMMA builtins (and generally that our builtins and intrinsics are on the same page and won't blow up). Differential Revision: https://reviews.llvm.org/D144176
105 lines
3.3 KiB
CMake
105 lines
3.3 KiB
CMake
# Cross project tests, for tests that require access to multiple projects across
|
|
# LLVM (e.g. clang, lld and lldb).
|
|
# The subset inside debuginfo-tests invoke clang to generate programs with
|
|
# various types of debug info, and then run those programs under a debugger
|
|
# such as GDB or LLDB to verify the results.
|
|
|
|
find_package(Python3 COMPONENTS Interpreter)
|
|
|
|
add_llvm_executable(check-gdb-llvm-support
|
|
debuginfo-tests/llvm-prettyprinters/gdb/llvm-support.cpp
|
|
)
|
|
target_link_libraries(check-gdb-llvm-support PRIVATE LLVMSupport)
|
|
|
|
set(CROSS_PROJECT_TESTS_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
|
set(CROSS_PROJECT_TESTS_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
set(CROSS_PROJECT_TEST_DEPS
|
|
FileCheck
|
|
check-gdb-llvm-support
|
|
count
|
|
llvm-dwarfdump
|
|
llvm-config
|
|
llvm-objdump
|
|
split-file
|
|
not
|
|
)
|
|
|
|
if ("clang" IN_LIST LLVM_ENABLE_PROJECTS)
|
|
list(APPEND CROSS_PROJECT_TEST_DEPS clang)
|
|
endif()
|
|
|
|
if ("mlir" IN_LIST LLVM_ENABLE_PROJECTS)
|
|
add_llvm_executable(check-gdb-mlir-support
|
|
debuginfo-tests/llvm-prettyprinters/gdb/mlir-support.cpp
|
|
)
|
|
target_include_directories(check-gdb-mlir-support PRIVATE
|
|
${LLVM_EXTERNAL_MLIR_SOURCE_DIR}/include
|
|
${LLVM_BINARY_DIR}/tools/mlir/include)
|
|
target_link_libraries(check-gdb-mlir-support PRIVATE MLIRIR)
|
|
list(APPEND CROSS_PROJECT_TEST_DEPS check-gdb-mlir-support)
|
|
set(MLIR_SOURCE_DIR ${LLVM_EXTERNAL_MLIR_SOURCE_DIR})
|
|
endif()
|
|
|
|
if("compiler-rt" IN_LIST LLVM_ENABLE_PROJECTS)
|
|
# llgdb-tests/asan.c and other asan* files.
|
|
if(TARGET asan)
|
|
list(APPEND CROSS_PROJECT_TEST_DEPS asan)
|
|
endif()
|
|
# llgdb-tests/safestack.c
|
|
if(TARGET safestack)
|
|
list(APPEND CROSS_PROJECT_TEST_DEPS safestack)
|
|
endif()
|
|
endif()
|
|
# Many dexter tests depend on lldb.
|
|
if("lldb" IN_LIST LLVM_ENABLE_PROJECTS)
|
|
list(APPEND CROSS_PROJECT_TEST_DEPS lldb lldb-server)
|
|
endif()
|
|
|
|
if ("lld" IN_LIST LLVM_ENABLE_PROJECTS)
|
|
list(APPEND CROSS_PROJECT_TEST_DEPS lld)
|
|
endif()
|
|
|
|
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
|
|
)
|
|
|
|
add_lit_testsuite(check-cross-project "Running cross-project tests"
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
DEPENDS ${CROSS_PROJECT_TEST_DEPS}
|
|
)
|
|
|
|
# Add alias for debuginfo test subset.
|
|
add_lit_testsuite(check-debuginfo "Running debuginfo tests"
|
|
${CMAKE_CURRENT_BINARY_DIR}/debuginfo-tests
|
|
EXCLUDE_FROM_CHECK_ALL
|
|
DEPENDS ${CROSS_PROJECT_TEST_DEPS}
|
|
)
|
|
|
|
# Add alias for intrinsic header test subset.
|
|
add_lit_testsuite(check-intrinsic-headers "Running intrinsic header tests"
|
|
${CMAKE_CURRENT_BINARY_DIR}/intrinsic-header-tests
|
|
EXCLUDE_FROM_CHECK_ALL
|
|
DEPENDS ${CROSS_PROJECT_TEST_DEPS}
|
|
)
|
|
|
|
# AMDGPU tests.
|
|
add_lit_testsuite(check-cross-amdgpu "Running AMDGPU cross-project tests"
|
|
${CMAKE_CURRENT_BINARY_DIR}/amdgpu
|
|
EXCLUDE_FROM_CHECK_ALL
|
|
DEPENDS clang
|
|
)
|
|
|
|
# Add check-cross-project-* targets.
|
|
add_lit_testsuites(CROSS_PROJECT ${CMAKE_CURRENT_SOURCE_DIR}
|
|
DEPENDS ${CROSS_PROJECT_TEST_DEPS}
|
|
)
|
|
|
|
set_target_properties(check-cross-project PROPERTIES FOLDER "Tests")
|
|
set_target_properties(check-debuginfo PROPERTIES FOLDER "Tests")
|
|
set_target_properties(check-intrinsic-headers PROPERTIES FOLDER "Tests")
|
|
set_target_properties(check-cross-amdgpu PROPERTIES FOLDER "Tests")
|