[Offload][NFC] Various minor changes to Offload CMake (#189029)

Summary:
Most of these just remove some redundancy or rename `openmp` ->
`offload` where the variable is purely internal.
This commit is contained in:
Joseph Huber 2026-03-27 12:06:37 -05:00 committed by GitHub
parent 9238b0f765
commit 15bfc06b6b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 34 additions and 68 deletions

View File

@ -49,10 +49,6 @@ list(INSERT CMAKE_MODULE_PATH 0
"${LLVM_COMMON_CMAKE_UTILS}/Modules"
)
set(OPENMP_ENABLE_WERROR ${LLVM_ENABLE_WERROR})
# If building in tree, we honor the same install suffix LLVM uses.
set(OPENMP_INSTALL_LIBDIR "lib${LLVM_LIBDIR_SUFFIX}")
set(OPENMP_TEST_C_COMPILER_default "${LLVM_TOOLS_BINARY_DIR}/clang${CMAKE_EXECUTABLE_SUFFIX}")
set(OPENMP_TEST_CXX_COMPILER_default "${LLVM_TOOLS_BINARY_DIR}/clang++${CMAKE_EXECUTABLE_SUFFIX}")
set(OPENMP_TEST_Fortran_COMPILER_default "${LLVM_TOOLS_BINARY_DIR}/flang${CMAKE_EXECUTABLE_SUFFIX}")
@ -128,11 +124,8 @@ if(LIBOMPTARGET_PLUGINS_TO_BUILD STREQUAL "all")
set(LIBOMPTARGET_PLUGINS_TO_BUILD ${LIBOMPTARGET_ALL_PLUGIN_TARGETS})
endif()
# Add host if not already in LIBOMPTARGET_PLUGINS_TO_BUILD
list(FIND LIBOMPTARGET_PLUGINS_TO_BUILD "host" FOUND_HOST)
if(FOUND_HOST EQUAL -1)
list(APPEND LIBOMPTARGET_PLUGINS_TO_BUILD "host")
endif()
list(APPEND LIBOMPTARGET_PLUGINS_TO_BUILD "host")
list(REMOVE_DUPLICATES LIBOMPTARGET_PLUGINS_TO_BUILD)
if(NOT (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(ppc64le)|(aarch64)$"
AND CMAKE_SYSTEM_NAME MATCHES "Linux"))

View File

@ -30,41 +30,22 @@ endif()
################################################################################
# Looking for NVIDIA GPUs...
################################################################################
set(LIBOMPTARGET_DEP_CUDA_ARCH "sm_35")
if(TARGET nvptx-arch)
get_property(LIBOMPTARGET_NVPTX_ARCH TARGET nvptx-arch PROPERTY LOCATION)
else()
find_program(LIBOMPTARGET_NVPTX_ARCH NAMES nvptx-arch
PATHS ${LLVM_TOOLS_BINARY_DIR})
endif()
if(LIBOMPTARGET_NVPTX_ARCH)
execute_process(COMMAND ${LIBOMPTARGET_NVPTX_ARCH}
if(LIBOMPTARGET_OFFLOAD_ARCH)
execute_process(COMMAND ${LIBOMPTARGET_OFFLOAD_ARCH} "--only=nvptx"
OUTPUT_VARIABLE LIBOMPTARGET_NVPTX_ARCH_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REPLACE "\n" ";" nvptx_arch_list "${LIBOMPTARGET_NVPTX_ARCH_OUTPUT}")
if(nvptx_arch_list)
set(LIBOMPTARGET_FOUND_NVIDIA_GPU TRUE)
set(LIBOMPTARGET_NVPTX_DETECTED_ARCH_LIST "${nvptx_arch_list}")
list(GET nvptx_arch_list 0 LIBOMPTARGET_DEP_CUDA_ARCH)
endif()
endif()
################################################################################
# Looking for AMD GPUs...
################################################################################
if(TARGET amdgpu-arch)
get_property(LIBOMPTARGET_AMDGPU_ARCH TARGET amdgpu-arch PROPERTY LOCATION)
else()
find_program(LIBOMPTARGET_AMDGPU_ARCH NAMES amdgpu-arch
PATHS ${LLVM_TOOLS_BINARY_DIR})
endif()
if(LIBOMPTARGET_AMDGPU_ARCH)
execute_process(COMMAND ${LIBOMPTARGET_AMDGPU_ARCH}
if(LIBOMPTARGET_OFFLOAD_ARCH)
execute_process(COMMAND ${LIBOMPTARGET_OFFLOAD_ARCH} "--only=amdgpu"
OUTPUT_VARIABLE LIBOMPTARGET_AMDGPU_ARCH_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE)
string(REPLACE "\n" ";" amdgpu_arch_list "${LIBOMPTARGET_AMDGPU_ARCH_OUTPUT}")
@ -97,4 +78,4 @@ if(LIBOMPTARGET_OFFLOAD_ARCH)
endif()
endif()
set(OPENMP_PTHREAD_LIB ${LLVM_PTHREAD_LIB})
set(OFFLOAD_PTHREAD_LIB ${LLVM_PTHREAD_LIB})

View File

@ -2,14 +2,14 @@
set(ENABLE_CHECK_TARGETS TRUE)
if (TARGET FileCheck)
set(OPENMP_FILECHECK_EXECUTABLE ${LLVM_TOOLS_BINARY_DIR}/FileCheck)
set(OFFLOAD_FILECHECK_EXECUTABLE ${LLVM_TOOLS_BINARY_DIR}/FileCheck)
else()
message(STATUS "Cannot find 'FileCheck'.")
message(WARNING "The check targets will not be available!")
set(ENABLE_CHECK_TARGETS FALSE)
endif()
set(OPENMP_NOT_EXECUTABLE ${LLVM_TOOLS_BINARY_DIR}/not)
set(OFFLOAD_NOT_EXECUTABLE ${LLVM_TOOLS_BINARY_DIR}/not)
set(OFFLOAD_DEVICE_INFO_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR}/llvm-offload-device-info)
set(OFFLOAD_TBLGEN_EXECUTABLE ${LLVM_RUNTIME_OUTPUT_INTDIR}/offload-tblgen)
@ -77,25 +77,20 @@ function(add_offload_testsuite target comment)
cmake_parse_arguments(ARG "EXCLUDE_FROM_CHECK_ALL" "" "DEPENDS;ARGS" ${ARGN})
# EXCLUDE_FROM_CHECK_ALL excludes the test ${target} out of check-offload.
if (NOT ARG_EXCLUDE_FROM_CHECK_ALL)
# Register the testsuites and depends for the check-offload rule.
set_property(GLOBAL APPEND PROPERTY OPENMP_LIT_TESTSUITES ${ARG_UNPARSED_ARGUMENTS})
set_property(GLOBAL APPEND PROPERTY OPENMP_LIT_DEPENDS ${ARG_DEPENDS})
set_property(GLOBAL APPEND PROPERTY OFFLOAD_LIT_TESTSUITES ${ARG_UNPARSED_ARGUMENTS})
set_property(GLOBAL APPEND PROPERTY OFFLOAD_LIT_DEPENDS ${ARG_DEPENDS})
endif()
if (ARG_EXCLUDE_FROM_CHECK_ALL)
add_lit_testsuite(${target}
${comment}
${ARG_UNPARSED_ARGUMENTS}
EXCLUDE_FROM_CHECK_ALL
DEPENDS clang FileCheck not ${ARG_DEPENDS}
ARGS ${ARG_ARGS}
)
else()
add_lit_testsuite(${target}
${comment}
${ARG_UNPARSED_ARGUMENTS}
DEPENDS clang FileCheck not ${ARG_DEPENDS}
ARGS ${ARG_ARGS}
)
set(extra_args)
if(ARG_EXCLUDE_FROM_CHECK_ALL)
list(APPEND extra_args EXCLUDE_FROM_CHECK_ALL)
endif()
add_lit_testsuite(${target}
${comment}
${ARG_UNPARSED_ARGUMENTS}
${extra_args}
DEPENDS clang FileCheck not ${ARG_DEPENDS}
ARGS ${ARG_ARGS}
)
endfunction()

View File

@ -39,7 +39,7 @@ function(add_target_library target_name lib_name)
target_include_directories(${target_name} PUBLIC ${common_dir}/include
${common_bin_dir}/include)
target_link_libraries(${target_name} PRIVATE
PluginCommon ${OPENMP_PTHREAD_LIB})
PluginCommon ${OFFLOAD_PTHREAD_LIB})
target_compile_definitions(${target_name} PRIVATE TARGET_NAME=${lib_name})
target_compile_definitions(${target_name} PRIVATE

View File

@ -24,7 +24,6 @@ target_include_directories(omptarget.rtl.level_zero PRIVATE
${LIBOMPTARGET_INCLUDE_DIR}
${LIBOMPTARGET_DEP_LEVEL_ZERO_INCLUDE_DIR}
${LIBOMPTARGET_LLVM_INCLUDE_DIRS}
${LIBOMPTARGET_OMP_HEADER_DIR}
)
if (EXISTS ${LIBOMPTARGET_DEP_LEVEL_ZERO_LIBRARY} AND NOT "level_zero" IN_LIST LIBOMPTARGET_DLOPEN_PLUGINS)

View File

@ -9,7 +9,7 @@ config.test_openmp_flags = "@OPENMP_TEST_OPENMP_FLAGS@"
config.test_extra_flags = "@OPENMP_TEST_FLAGS@"
config.cuda_path = "@CUDA_ROOT@"
config.cuda_libdir = "@CUDA_LIBDIR@"
config.cuda_test_arch = "@LIBOMPTARGET_DEP_CUDA_ARCH@"
config.cuda_test_arch = "@LIBOMPTARGET_NVPTX_DETECTED_ARCH_LIST@"
config.amdgpu_test_arch = "@LIBOMPTARGET_AMDGPU_DETECTED_ARCH_LIST@"
config.libomptarget_obj_root = "@CMAKE_CURRENT_BINARY_DIR@/@CURRENT_TARGET@"
config.library_dir = "@LIBOMPTARGET_LIBRARY_DIR@"
@ -21,8 +21,8 @@ config.llvm_lib_directory = "@LIBOMPTARGET_LLVM_LIBRARY_DIR@"
config.operating_system = "@CMAKE_SYSTEM_NAME@"
config.libomptarget_all_targets = "@LIBOMPTARGET_ALL_TARGETS@".split()
config.libomptarget_current_target = "@CURRENT_TARGET@"
config.libomptarget_filecheck = "@OPENMP_FILECHECK_EXECUTABLE@"
config.libomptarget_not = "@OPENMP_NOT_EXECUTABLE@"
config.libomptarget_filecheck = "@OFFLOAD_FILECHECK_EXECUTABLE@"
config.libomptarget_not = "@OFFLOAD_NOT_EXECUTABLE@"
config.offload_device_info = "@OFFLOAD_DEVICE_INFO_EXECUTABLE@"
config.libomptarget_debug = @LIBOMPTARGET_DEBUG@
config.has_libomptarget_ompt = @LIBOMPTARGET_OMPT_SUPPORT@

View File

@ -1,15 +1,13 @@
set(OPENMP_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
set(OFFLOAD_TOOLS_INSTALL_DIR "${CMAKE_INSTALL_BINDIR}" CACHE PATH
"Path for binary subdirectory (defaults to '${CMAKE_INSTALL_BINDIR}')")
mark_as_advanced(OPENMP_TOOLS_INSTALL_DIR)
mark_as_advanced(OFFLOAD_TOOLS_INSTALL_DIR)
# Move these macros to AddOpenMP if such a CMake module is ever created.
macro(add_openmp_tool name)
llvm_add_tool(OPENMP ${ARGV})
macro(add_offload_tool name)
llvm_add_tool(OFFLOAD ${ARGV})
endmacro()
macro(add_openmp_tool_symlink name)
llvm_add_tool_symlink(OPENMP ${ARGV})
macro(add_offload_tool_symlink name)
llvm_add_tool_symlink(OFFLOAD ${ARGV})
endmacro()
add_subdirectory(deviceinfo)

View File

@ -1,6 +1,6 @@
message(STATUS "Building the llvm-offload-device-info tool")
add_openmp_tool(llvm-offload-device-info llvm-offload-device-info.cpp)
add_offload_tool(llvm-offload-device-info llvm-offload-device-info.cpp)
llvm_update_compile_flags(llvm-offload-device-info)

View File

@ -1,6 +1,6 @@
message(STATUS "Building the llvm-omp-kernel-replay tool")
add_openmp_tool(llvm-omp-kernel-replay llvm-omp-kernel-replay.cpp)
add_offload_tool(llvm-omp-kernel-replay llvm-omp-kernel-replay.cpp)
llvm_update_compile_flags(llvm-omp-kernel-replay)