Skip to content

Commit d6dab1a

Browse files
committed
[offload] Extend LIT infrastructure to allow using more tools
Signed-off-by: Sarnie, Nick <[email protected]>
1 parent 3bf8e67 commit d6dab1a

File tree

3 files changed

+24
-0
lines changed

3 files changed

+24
-0
lines changed

offload/cmake/OpenMPTesting.cmake

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,19 @@ function(find_standalone_test_dependencies)
4747
set(ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
4848
return()
4949
endif()
50+
51+
find_program(OPENMP_LLVM_CONFIG_EXECUTABLE
52+
NAMES llvm-config
53+
PATHS ${OPENMP_LLVM_TOOLS_DIR})
54+
if (LLVM_CONFIG OPENMP_LLVM_CONFIG_EXECUTABLE)
55+
message(STATUS "Cannot find 'llvm-config'.")
56+
message(STATUS "Please put 'llvm-config' in your PATH, set OPENMP_LLVM_CONFIG_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory.")
57+
message(WARNING "The check targets will not be available!")
58+
set(ENABLE_CHECK_TARGETS FALSE PARENT_SCOPE)
59+
return()
60+
else()
61+
set(OPENMP_LLVM_CONFIG_EXECUTABLE ${OPENMP_LLVM_CONFIG_EXECUTABLE} PARENT_SCOPE)
62+
endif()
5063
endfunction()
5164

5265
if (${OPENMP_STANDALONE_BUILD})
@@ -71,6 +84,7 @@ else()
7184
set(OPENMP_FILECHECK_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR}/FileCheck)
7285
endif()
7386
set(OPENMP_NOT_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR}/not)
87+
set(OPENMP_LLVM_CONFIG_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-config)
7488
endif()
7589
set(OFFLOAD_DEVICE_INFO_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-offload-device-info)
7690
set(OFFLOAD_TBLGEN_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR}/offload-tblgen)
@@ -163,6 +177,8 @@ else()
163177
set(OPENMP_TEST_COMPILER_HAS_OMP_H 1)
164178
set(OPENMP_TEST_COMPILER_OPENMP_FLAGS "-fopenmp ${OPENMP_TEST_COMPILER_THREAD_FLAGS}")
165179
set(OPENMP_TEST_COMPILER_HAS_OMIT_FRAME_POINTER_FLAGS 1)
180+
execute_process(COMMAND "${OPENMP_LLVM_CONFIG_EXECUTABLE}" "--targets-built"
181+
OUTPUT_VARIABLE LLVM_TARGETS_BUILT OUTPUT_STRIP_TRAILING_WHITESPACE)
166182
endif()
167183

168184
# Function to set compiler features for use in lit.

offload/test/lit.cfg

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ config.target_triple = [ ]
101101
for feature in config.test_compiler_features:
102102
config.available_features.add(feature)
103103

104+
for target in config.llvm_targets_built:
105+
config.available_features.add(target.lower() + '-registered-target')
106+
104107
if config.libomptarget_debug:
105108
config.available_features.add('libomptarget-debug')
106109

@@ -419,3 +422,5 @@ config.substitutions.append(("%not", config.libomptarget_not))
419422
config.substitutions.append(("%offload-device-info",
420423
config.offload_device_info))
421424
config.substitutions.append(("%offload-tblgen", config.offload_tblgen))
425+
config.substitutions.append(("%offload-packager", config.offload_packager))
426+
config.substitutions.append(("%offload-readelf", config.offload_readelf))

offload/test/lit.site.cfg.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ config.libomptarget_obj_root = "@CMAKE_CURRENT_BINARY_DIR@/@CURRENT_TARGET@"
1515
config.library_dir = "@LIBOMPTARGET_LIBRARY_DIR@"
1616
config.llvm_library_dir = "@LIBOMPTARGET_LLVM_LIBRARY_DIR@"
1717
config.llvm_library_intdir = "@LIBOMPTARGET_LLVM_LIBRARY_INTDIR@"
18+
config.llvm_targets_built = "@LLVM_TARGETS_BUILT@".split()
1819
config.omp_header_directory = "@LIBOMPTARGET_OPENMP_HEADER_FOLDER@"
1920
config.omp_host_rtl_directory = "@LIBOMPTARGET_OPENMP_HOST_RTL_FOLDER@"
2021
config.llvm_lib_directory = "@LIBOMPTARGET_LLVM_LIBRARY_DIR@"
@@ -29,5 +30,7 @@ config.has_libomptarget_ompt = @LIBOMPTARGET_OMPT_SUPPORT@
2930
config.libomptarget_has_libc = @LIBOMPTARGET_GPU_LIBC_SUPPORT@
3031
config.libomptarget_test_pgo = @LIBOMPTARGET_TEST_GPU_PGO@
3132
config.offload_tblgen = "@OFFLOAD_TBLGEN_EXECUTABLE@"
33+
config.offload_packager = "@PACKAGER_TOOL@"
34+
config.offload_readelf = "@CMAKE_READELF@"
3235
# Let the main config do the real work.
3336
lit_config.load_config(config, "@CMAKE_CURRENT_SOURCE_DIR@/lit.cfg")

0 commit comments

Comments
 (0)