[llvm] [Runtimes] Pass through per-runtime CMake options for target runtimes (PR #194105)

Wenju He via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 30 00:43:50 PDT 2026


https://github.com/wenju-he updated https://github.com/llvm/llvm-project/pull/194105

>From 949f100be49b834a46cfb8c241f82728c4b75bca Mon Sep 17 00:00:00 2001
From: Wenju He <wenju.he at intel.com>
Date: Sat, 25 Apr 2026 04:16:46 +0200
Subject: [PATCH 1/4] [Runtimes] Allow pass though LIBCLC_* cmake options to
 libclc

Fix warning:
Manually-specified variables were not used by the project: LIBCLC_USE_SPIRV_BACKEND.

LIBCLC_USE_SPIRV_BACKEND is a cmake option in libclc.

Changes:
- Add to runtime_default_target for `LLVM_ENABLE_RUNTIMES=libclc` case.
- Add to runtime_register_target for `LLVM_RUNTIME_TARGETS=triple` case.
---
 llvm/runtimes/CMakeLists.txt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt
index c44795536af57..78fa4b3fe0902 100644
--- a/llvm/runtimes/CMakeLists.txt
+++ b/llvm/runtimes/CMakeLists.txt
@@ -302,6 +302,7 @@ function(runtime_default_target)
                                       ${ARG_CMAKE_ARGS}
                            PASSTHROUGH_PREFIXES LLVM_ENABLE_RUNTIMES
                                                 LLVM_USE_LINKER
+                                                LIBCLC
                                                 CUDA CMAKE_CUDA # For runtimes that may look for the CUDA compiler and/or SDK (libc, offload, flang-rt)
                                                 FFI # offload uses libffi
                                                 FLANG_RUNTIME # Shared between Flang and Flang-RT
@@ -448,6 +449,7 @@ function(runtime_register_target name)
                                       ${${name}_extra_args}
                            EXTRA_TARGETS ${${name}_extra_targets}
                                          ${${name}_test_targets}
+                           PASSTHROUGH_PREFIXES LIBCLC
                            USE_TOOLCHAIN
                            FOLDER "Runtimes"
                            ${EXTRA_ARGS} ${ARG_EXTRA_ARGS})

>From c9d644b589c42400a89de8c0803e458d504293e6 Mon Sep 17 00:00:00 2001
From: Wenju He <wenju.he at intel.com>
Date: Mon, 27 Apr 2026 11:42:34 +0200
Subject: [PATCH 2/4] append LIBCLC to prefixes for runtime_register_target

---
 llvm/runtimes/CMakeLists.txt | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt
index 78fa4b3fe0902..1e0d0a7e779a6 100644
--- a/llvm/runtimes/CMakeLists.txt
+++ b/llvm/runtimes/CMakeLists.txt
@@ -302,7 +302,6 @@ function(runtime_default_target)
                                       ${ARG_CMAKE_ARGS}
                            PASSTHROUGH_PREFIXES LLVM_ENABLE_RUNTIMES
                                                 LLVM_USE_LINKER
-                                                LIBCLC
                                                 CUDA CMAKE_CUDA # For runtimes that may look for the CUDA compiler and/or SDK (libc, offload, flang-rt)
                                                 FFI # offload uses libffi
                                                 FLANG_RUNTIME # Shared between Flang and Flang-RT
@@ -345,6 +344,8 @@ function(runtime_register_target name)
       set(check-${runtime_name}-${name} check-${runtime_name} )
       list(APPEND ${name}_test_targets check-${runtime_name}-${name})
     endif()
+    string(TOUPPER ${runtime_name} runtime_name_upper)
+    set(${name}_prefixes ${runtime_name_upper})
   endforeach()
 
   foreach(component IN LISTS SUB_COMPONENTS)
@@ -449,7 +450,7 @@ function(runtime_register_target name)
                                       ${${name}_extra_args}
                            EXTRA_TARGETS ${${name}_extra_targets}
                                          ${${name}_test_targets}
-                           PASSTHROUGH_PREFIXES LIBCLC
+                           PASSTHROUGH_PREFIXES ${${name}_prefixes}
                            USE_TOOLCHAIN
                            FOLDER "Runtimes"
                            ${EXTRA_ARGS} ${ARG_EXTRA_ARGS})

>From 75c23b97bfb92147d8d5bda04b960ccc065f719a Mon Sep 17 00:00:00 2001
From: Wenju He <wenju.he at intel.com>
Date: Mon, 27 Apr 2026 11:53:59 +0200
Subject: [PATCH 3/4] TOUPPER _prefixes

---
 llvm/runtimes/CMakeLists.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt
index 1e0d0a7e779a6..b5f25a7bda0a6 100644
--- a/llvm/runtimes/CMakeLists.txt
+++ b/llvm/runtimes/CMakeLists.txt
@@ -344,8 +344,7 @@ function(runtime_register_target name)
       set(check-${runtime_name}-${name} check-${runtime_name} )
       list(APPEND ${name}_test_targets check-${runtime_name}-${name})
     endif()
-    string(TOUPPER ${runtime_name} runtime_name_upper)
-    set(${name}_prefixes ${runtime_name_upper})
+    string(TOUPPER ${runtime_name} ${name}_prefixes)
   endforeach()
 
   foreach(component IN LISTS SUB_COMPONENTS)

>From a2909d257d2915ca412e8e4445e63c0115eb1cf2 Mon Sep 17 00:00:00 2001
From: Wenju He <wenju.he at intel.com>
Date: Thu, 30 Apr 2026 09:42:48 +0200
Subject: [PATCH 4/4] append all runtime's prefixes to _prefixes

---
 llvm/runtimes/CMakeLists.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/llvm/runtimes/CMakeLists.txt b/llvm/runtimes/CMakeLists.txt
index b5f25a7bda0a6..3ee0ada687c9e 100644
--- a/llvm/runtimes/CMakeLists.txt
+++ b/llvm/runtimes/CMakeLists.txt
@@ -344,7 +344,8 @@ function(runtime_register_target name)
       set(check-${runtime_name}-${name} check-${runtime_name} )
       list(APPEND ${name}_test_targets check-${runtime_name}-${name})
     endif()
-    string(TOUPPER ${runtime_name} ${name}_prefixes)
+    string(TOUPPER ${runtime_name} runtime_prefix)
+    list(APPEND ${name}_prefixes ${runtime_prefix})
   endforeach()
 
   foreach(component IN LISTS SUB_COMPONENTS)



More information about the llvm-commits mailing list