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

Joseph Huber via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 27 08:44:11 PDT 2026


https://github.com/jhuber6 created https://github.com/llvm/llvm-project/pull/189029

Summary:
Most of these just remove some redundancy or rename `openmp` ->
`offload` where the variable is purely internal.


>From e0401b2a1836bc116933bfd7a30ed0aa98d0765d Mon Sep 17 00:00:00 2001
From: Joseph Huber <huberjn at outlook.com>
Date: Fri, 27 Mar 2026 10:41:09 -0500
Subject: [PATCH] [Offload][NFC] Various minor changes to Offload CMake

Summary:
Most of these just remove some redundancy or rename `openmp` ->
`offload` where the variable is purely internal.
---
 offload/CMakeLists.txt                        | 10 ------
 .../Modules/LibomptargetGetDependencies.cmake | 29 +++------------
 offload/cmake/OpenMPTesting.cmake             | 35 ++++++++-----------
 offload/plugins-nextgen/CMakeLists.txt        |  3 +-
 .../plugins-nextgen/level_zero/CMakeLists.txt |  1 -
 offload/test/lit.site.cfg.in                  |  6 ++--
 offload/tools/CMakeLists.txt                  | 14 ++++----
 offload/tools/deviceinfo/CMakeLists.txt       |  2 +-
 offload/tools/kernelreplay/CMakeLists.txt     |  2 +-
 9 files changed, 33 insertions(+), 69 deletions(-)

diff --git a/offload/CMakeLists.txt b/offload/CMakeLists.txt
index 83d614d177b1f..48b7916da3497 100644
--- a/offload/CMakeLists.txt
+++ b/offload/CMakeLists.txt
@@ -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,12 +124,6 @@ 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()
-
 if(NOT (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(ppc64le)|(aarch64)$"
         AND CMAKE_SYSTEM_NAME MATCHES "Linux"))
   if("amdgpu" IN_LIST LIBOMPTARGET_PLUGINS_TO_BUILD)
diff --git a/offload/cmake/Modules/LibomptargetGetDependencies.cmake b/offload/cmake/Modules/LibomptargetGetDependencies.cmake
index 4c44e4cf8fab7..9748a5ef89d44 100644
--- a/offload/cmake/Modules/LibomptargetGetDependencies.cmake
+++ b/offload/cmake/Modules/LibomptargetGetDependencies.cmake
@@ -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})
diff --git a/offload/cmake/OpenMPTesting.cmake b/offload/cmake/OpenMPTesting.cmake
index 0a3dde4af74b9..6b126217b2aad 100644
--- a/offload/cmake/OpenMPTesting.cmake
+++ b/offload/cmake/OpenMPTesting.cmake
@@ -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()
diff --git a/offload/plugins-nextgen/CMakeLists.txt b/offload/plugins-nextgen/CMakeLists.txt
index a72befd9416b7..7e6cfafc6f3c0 100644
--- a/offload/plugins-nextgen/CMakeLists.txt
+++ b/offload/plugins-nextgen/CMakeLists.txt
@@ -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
@@ -47,6 +47,7 @@ function(add_target_library target_name lib_name)
   set_target_properties(${target_name} PROPERTIES POSITION_INDEPENDENT_CODE ON)
 endfunction()
 
+add_subdirectory(host)
 foreach(plugin IN LISTS LIBOMPTARGET_PLUGINS_TO_BUILD)
   if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${plugin})
     message(FATAL_ERROR "Unknown plugin target '${plugin}'")
diff --git a/offload/plugins-nextgen/level_zero/CMakeLists.txt b/offload/plugins-nextgen/level_zero/CMakeLists.txt
index 7af07bfb64b7e..11e99476c7dc8 100644
--- a/offload/plugins-nextgen/level_zero/CMakeLists.txt
+++ b/offload/plugins-nextgen/level_zero/CMakeLists.txt
@@ -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)
diff --git a/offload/test/lit.site.cfg.in b/offload/test/lit.site.cfg.in
index 47b1fbd185146..d1b3b6ff1b398 100644
--- a/offload/test/lit.site.cfg.in
+++ b/offload/test/lit.site.cfg.in
@@ -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@
diff --git a/offload/tools/CMakeLists.txt b/offload/tools/CMakeLists.txt
index 13772a4a675e5..7010ba93a4322 100644
--- a/offload/tools/CMakeLists.txt
+++ b/offload/tools/CMakeLists.txt
@@ -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)
diff --git a/offload/tools/deviceinfo/CMakeLists.txt b/offload/tools/deviceinfo/CMakeLists.txt
index cc2d0a6add8b9..9d3977fbcc1f5 100644
--- a/offload/tools/deviceinfo/CMakeLists.txt
+++ b/offload/tools/deviceinfo/CMakeLists.txt
@@ -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)
 
diff --git a/offload/tools/kernelreplay/CMakeLists.txt b/offload/tools/kernelreplay/CMakeLists.txt
index 690edd6d5a68e..66c4b2159822a 100644
--- a/offload/tools/kernelreplay/CMakeLists.txt
+++ b/offload/tools/kernelreplay/CMakeLists.txt
@@ -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)
 



More information about the llvm-commits mailing list