forked from OSchip/llvm-project
[CMake] Re-enable libomptarget and restrict tests to Clang 6.0.0
We have just fixed the codegen of omp_is_initial_device() to reliably work when offloading to the same device, see commit r316001. This fixes the failing tests that were the reason why we disabled the library for 5.0. Differential Revision: https://reviews.llvm.org/D39052 llvm-svn: 318847
This commit is contained in:
parent
70cf4dd735
commit
318dd729cc
|
@ -5,10 +5,7 @@ set(OPENMP_LLVM_TOOLS_DIR "" CACHE PATH "Path to LLVM tools for testing")
|
|||
add_subdirectory(runtime)
|
||||
|
||||
|
||||
# The tests currently don't pass if the generic ELF plugin is built.
|
||||
# TODO: Fix the tests and enable libomptarget by default on supported
|
||||
# architectures and platforms.
|
||||
set(ENABLE_LIBOMPTARGET OFF)
|
||||
set(ENABLE_LIBOMPTARGET ON)
|
||||
# Currently libomptarget cannot be compiled on Windows or MacOS X.
|
||||
# Since the device plugins are only supported on Linux anyway,
|
||||
# there is no point in trying to compile libomptarget on other OSes.
|
||||
|
|
|
@ -27,6 +27,29 @@ if(${LIBOMPTARGET_STANDALONE_BUILD})
|
|||
"C compiler to use for testing OpenMP offloading library")
|
||||
set(LIBOMPTARGET_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE STRING
|
||||
"C++ compiler to use for testing OpenMP offloading library")
|
||||
|
||||
if (NOT(${LIBOMPTARGET_TEST_C_COMPILER} MATCHES "clang" AND ${LIBOMPTARGET_TEST_CXX_COMPILER} MATCHES "clang"))
|
||||
libomptarget_say("Can only test with Clang compiler!")
|
||||
libomptarget_warning_say("The check-libomptarget target will not be available!")
|
||||
return()
|
||||
endif()
|
||||
|
||||
execute_process(
|
||||
COMMAND ${LIBOMPTARGET_TEST_C_COMPILER} --version
|
||||
OUTPUT_VARIABLE TEST_COMPILER_VERSION)
|
||||
string(REGEX MATCH "version ([0-9.]+)" TEST_COMPILER_VERSION ${TEST_COMPILER_VERSION})
|
||||
if (NOT(TEST_COMPILER_VERSION))
|
||||
libomptarget_say("Unable to determine Clang compiler version!")
|
||||
libomptarget_warning_say("The check-libomptarget target will not be available!")
|
||||
return()
|
||||
endif()
|
||||
set(TEST_COMPILER_VERSION ${CMAKE_MATCH_1})
|
||||
if (TEST_COMPILER_VERSION VERSION_LESS 6.0.0)
|
||||
libomptarget_say("Clang compiler version does not implement all codegen, please update to 6.0.0!")
|
||||
libomptarget_warning_say("The check-libomptarget target will not be available!")
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(LIBOMPTARGET_TEST_OPENMP_FLAG -fopenmp CACHE STRING
|
||||
"OpenMP compiler flag to use for testing OpenMP offloading library")
|
||||
find_program(LIBOMPTARGET_LLVM_LIT_EXECUTABLE
|
||||
|
|
Loading…
Reference in New Issue