[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