[libclc] [libclc] Only check the triple architecture for libclc (PR #194149)
Joseph Huber via cfe-commits
cfe-commits at lists.llvm.org
Sat Apr 25 18:34:21 PDT 2026
================
@@ -22,26 +22,21 @@ option(
LIBCLC_USE_SPIRV_BACKEND "Build SPIR-V targets with the SPIR-V backend." OFF
)
-# List of all supported targets.
-set( LIBCLC_TARGETS_ALL
- amdgcn-amd-amdhsa-llvm
- clspv--
- clspv64--
- nvptx64--
- nvptx64--nvidiacl
- nvptx64-nvidia-cuda
- spirv-mesa3d-
- spirv64-mesa3d-
-)
+# List of all supported architectures.
+set( LIBCLC_ARCHS_ALL amdgpu amdgcn clspv clspv64 nvptx64 spirv spirv64 )
set(LIBCLC_TARGET ${LLVM_DEFAULT_TARGET_TRIPLE})
if(NOT LIBCLC_TARGET)
message(FATAL_ERROR "libclc target is empty\n")
endif()
-if(NOT "${LIBCLC_TARGET}" IN_LIST LIBCLC_TARGETS_ALL)
- message(FATAL_ERROR "Unknown libclc target: ${LIBCLC_TARGET}\n"
- "Valid targets are: ${LIBCLC_TARGETS_ALL}\n")
+
+string( REPLACE "-" ";" _target_components ${LIBCLC_TARGET} )
+list(GET _target_components 0 _target_arch)
+if(NOT "${_target_arch}" IN_LIST LIBCLC_ARCHS_ALL)
----------------
jhuber6 wrote:
Yeah, it would accept `nvptx64-uknown-unknown`, but that would still fail at compile time. I guess the question is how much we care about validating things like this. This seems like a 'best effort' at least
https://github.com/llvm/llvm-project/pull/194149
More information about the cfe-commits
mailing list