@@ -413,23 +413,27 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
413
413
DIRS ${opencl_dirs}
414
414
)
415
415
416
- set ( libspirv_lib_files )
417
- set ( libspirv_gen_files )
418
-
419
- if ( NOT ARCH STREQUAL spirv AND NOT ARCH STREQUAL spirv64 )
420
- if ( ARCH STREQUAL clspv OR ARCH STREQUAL clspv64 )
421
- list ( APPEND libspirv_gen_files clspv-convert.cl )
422
- elseif ( NOT ENABLE_RUNTIME_SUBNORMAL )
423
- list ( APPEND libspirv_gen_files spirv-convert.cl )
424
- list ( APPEND libspirv_lib_files libspirv/lib/generic/subnormal_use_default.ll )
416
+ set ( BUILD_LIBSPIRV_${t} FALSE )
417
+ if ( t STREQUAL amdgcn--amdhsa OR t STREQUAL nvptx64--nvidiacl OR t STREQUAL native_cpu )
418
+ set ( libspirv_lib_files )
419
+ set ( libspirv_gen_files )
420
+ set ( BUILD_LIBSPIRV_${t} TRUE )
421
+
422
+ if ( NOT ARCH STREQUAL spirv AND NOT ARCH STREQUAL spirv64 )
423
+ if ( ARCH STREQUAL clspv OR ARCH STREQUAL clspv64 )
424
+ list ( APPEND libspirv_gen_files clspv-convert.cl )
425
+ elseif ( NOT ENABLE_RUNTIME_SUBNORMAL )
426
+ list ( APPEND libspirv_gen_files spirv-convert.cl )
427
+ list ( APPEND libspirv_lib_files libspirv/lib/generic/subnormal_use_default.ll )
428
+ endif ()
425
429
endif ()
426
- endif ()
427
430
428
- libclc_configure_lib_source(
429
- libspirv_lib_files
430
- LIB_ROOT_DIR libspirv
431
- DIRS ${libspirv_dirs} ${DARCH} ${DARCH} -${OS} ${DARCH} -${VENDOR} -${OS}
432
- )
431
+ libclc_configure_lib_source(
432
+ libspirv_lib_files
433
+ LIB_ROOT_DIR libspirv
434
+ DIRS ${libspirv_dirs} ${DARCH} ${DARCH} -${OS} ${DARCH} -${VENDOR} -${OS}
435
+ )
436
+ endif ()
433
437
434
438
foreach ( d ${${t} _devices} )
435
439
get_libclc_device_info(
@@ -568,28 +572,30 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
568
572
GEN_FILES ${clc_gen_files}
569
573
)
570
574
571
- set ( spirv_build_flags ${build_flags} )
572
- list ( APPEND spirv_build_flags
573
- -I${CMAKE_CURRENT_SOURCE_DIR} /generic/include
574
- -I${CMAKE_CURRENT_SOURCE_DIR} /libspirv/include /
575
- # FIXME: Fix libspirv to not require disabling this noisy warning
576
- -Wno-bitwise-conditional-parentheses
577
- )
578
-
579
- add_libclc_builtin_set(
580
- ARCH ${ARCH}
581
- ARCH_SUFFIX libspirv-${arch_suffix}
582
- TRIPLE ${clang_triple}
583
- TARGET_ENV libspirv-
584
- COMPILE_FLAGS ${spirv_build_flags}
585
- OPT_FLAGS ${opt_flags}
586
- LIB_FILES ${libspirv_lib_files}
587
- GEN_FILES ${libspirv_gen_files}
588
- ALIASES ${${d} _aliases}
589
- PARENT_TARGET libspirv-builtins
590
- # Link in the CLC builtins and internalize their symbols
591
- INTERNAL_LINK_DEPENDENCIES builtins.link.clc-${arch_suffix}
592
- )
575
+ if ( BUILD_LIBSPIRV_${t} )
576
+ set ( spirv_build_flags ${build_flags} )
577
+ list ( APPEND spirv_build_flags
578
+ -I${CMAKE_CURRENT_SOURCE_DIR} /generic/include
579
+ -I${CMAKE_CURRENT_SOURCE_DIR} /libspirv/include /
580
+ # FIXME: Fix libspirv to not require disabling this noisy warning
581
+ -Wno-bitwise-conditional-parentheses
582
+ )
583
+
584
+ add_libclc_builtin_set(
585
+ ARCH ${ARCH}
586
+ ARCH_SUFFIX libspirv-${arch_suffix}
587
+ TRIPLE ${clang_triple}
588
+ TARGET_ENV libspirv-
589
+ COMPILE_FLAGS ${spirv_build_flags}
590
+ OPT_FLAGS ${opt_flags}
591
+ LIB_FILES ${libspirv_lib_files}
592
+ GEN_FILES ${libspirv_gen_files}
593
+ ALIASES ${${d} _aliases}
594
+ PARENT_TARGET libspirv-builtins
595
+ # Link in the CLC builtins and internalize their symbols
596
+ INTERNAL_LINK_DEPENDENCIES builtins.link.clc-${arch_suffix}
597
+ )
598
+ endif ()
593
599
594
600
set ( opencl_build_flags ${build_flags} )
595
601
list ( APPEND opencl_build_flags
0 commit comments