Author: Konrad Kleine
Date: 2026-05-11T12:33:44+02:00
New Revision: 363c871c8b5a50d10b58f409ff7125f2f41c08ca

URL: 
https://github.com/llvm/llvm-project/commit/363c871c8b5a50d10b58f409ff7125f2f41c08ca
DIFF: 
https://github.com/llvm/llvm-project/commit/363c871c8b5a50d10b58f409ff7125f2f41c08ca.diff

LOG: libclc: group spirv archs in LIBCLC_ARCHS_SPIRV (#196911)

This was done do remove repetitive comparisons.

Added: 
    

Modified: 
    libclc/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt
index cf1834a7ece63..3f84458336950 100644
--- a/libclc/CMakeLists.txt
+++ b/libclc/CMakeLists.txt
@@ -23,7 +23,9 @@ option(
 )
 
 # List of all supported architectures.
-set( LIBCLC_ARCHS_ALL amdgpu amdgcn nvptx64 spirv spirv32 spirv64 )
+set( LIBCLC_ARCHS_ALL amdgpu amdgcn nvptx64 )
+set( LIBCLC_ARCHS_SPIRV spirv spirv32 spirv64)
+list( APPEND LIBCLC_ARCHS_ALL ${LIBCLC_ARCHS_SPIRV})
 
 set(LIBCLC_TARGET ${LLVM_DEFAULT_TARGET_TRIPLE})
 
@@ -100,7 +102,7 @@ string( REPLACE "-" ";" TRIPLE  ${LIBCLC_TARGET} )
 list(GET TRIPLE 0 ARCH)
 list(GET TRIPLE 2 OS)
 
-if(ARCH STREQUAL spirv OR ARCH STREQUAL spirv32 OR ARCH STREQUAL spirv64)
+if(ARCH IN_LIST LIBCLC_ARCHS_SPIRV)
   if(NOT OS STREQUAL vulkan AND NOT LIBCLC_USE_SPIRV_BACKEND AND NOT 
llvm-spirv_exe)
     message(FATAL_ERROR "SPIR-V backend or llvm-spirv is required for libclc 
${LIBCLC_TARGET}")
   endif()
@@ -138,7 +140,7 @@ add_dependencies( libclc libclc-opencl-builtins )
 # Determine the clang target triple. Vulkan and SPIR-V backend targets use the
 # triple directly; other SPIR-V targets fall back to the legacy SPIR target.
 set(clang_triple ${LIBCLC_TARGET})
-if(ARCH STREQUAL spirv OR ARCH STREQUAL spirv32 OR ARCH STREQUAL spirv64)
+if(ARCH IN_LIST LIBCLC_ARCHS_SPIRV)
   if(NOT OS STREQUAL vulkan AND NOT LIBCLC_USE_SPIRV_BACKEND)
     if(ARCH STREQUAL spirv)
       set(clang_triple spir--)
@@ -154,7 +156,7 @@ set(generic_addrspace_val 0)
 if(ARCH STREQUAL amdgcn)
   set(private_addrspace_val 5)
 endif()
-if((ARCH STREQUAL spirv OR ARCH STREQUAL spirv32 OR ARCH STREQUAL spirv64) AND 
NOT OS STREQUAL vulkan)
+if(ARCH IN_LIST LIBCLC_ARCHS_SPIRV AND NOT OS STREQUAL vulkan)
   set(generic_addrspace_val 4)
 endif()
 
@@ -163,7 +165,7 @@ set(target_compile_flags)
 set(target_extra_defines)
 set(opt_flags -O3)
 
-if(ARCH STREQUAL spirv OR ARCH STREQUAL spirv32 OR ARCH STREQUAL spirv64)
+if(ARCH IN_LIST LIBCLC_ARCHS_SPIRV)
   if(OS STREQUAL vulkan)
     list(APPEND target_compile_flags -Wno-unknown-assumption 
-U__opencl_c_int64)
   else()
@@ -181,7 +183,7 @@ if(ARCH STREQUAL amdgcn)
   list(APPEND _clc_overrides ${CLC_AMDGPU_SOURCES})
 elseif(ARCH STREQUAL nvptx64 AND (OS STREQUAL nvidiacl OR OS STREQUAL cuda))
   list(APPEND _clc_overrides ${CLC_PTX_NVIDIACL_SOURCES})
-elseif(ARCH STREQUAL spirv OR ARCH STREQUAL spirv32 OR ARCH STREQUAL spirv64)
+elseif(ARCH IN_LIST LIBCLC_ARCHS_SPIRV)
   if(OS STREQUAL vulkan)
     list(APPEND _clc_overrides ${CLC_VULKAN_SOURCES})
   else()
@@ -192,7 +194,7 @@ libclc_merge_sources(clc_sources ${CLC_GENERIC_SOURCES} 
${_clc_overrides})
 
 # Collect OpenCL sources. SPIR-V and Vulkan targets use self-contained
 # subsets while others merge with target-specific overrides.
-if(ARCH STREQUAL spirv OR ARCH STREQUAL spirv32 OR ARCH STREQUAL spirv64)
+if(ARCH IN_LIST LIBCLC_ARCHS_SPIRV)
   if(OS STREQUAL vulkan)
     set(opencl_sources ${OPENCL_VULKAN_SOURCES})
   else()


        
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to