Author: Fraser Cormack Date: 2025-03-28T08:22:19Z New Revision: 0a74cbfac462dfbf446e1f560e987619f93194ac
URL: https://github.com/llvm/llvm-project/commit/0a74cbfac462dfbf446e1f560e987619f93194ac DIFF: https://github.com/llvm/llvm-project/commit/0a74cbfac462dfbf446e1f560e987619f93194ac.diff LOG: [libclc] Pass -fapprox-func when compiling 'native' builtins (#133119) The libclc build system isn't well set up to pass arbitrary options to arbitrary source files in a non-intrusive way. There isn't currently any other motivating example to warrant rewriting the build system just to satisfy this requirement. So this commit uses a filename-based approach to inserting this option into the list of compile flags. Added: Modified: libclc/CMakeLists.txt libclc/cmake/modules/AddLibclc.cmake Removed: ################################################################################ diff --git a/libclc/CMakeLists.txt b/libclc/CMakeLists.txt index 3de7ee9b707a8..59a70a200c95c 100644 --- a/libclc/CMakeLists.txt +++ b/libclc/CMakeLists.txt @@ -262,6 +262,28 @@ if ( clspv-- IN_LIST LIBCLC_TARGETS_TO_BUILD OR clspv64-- IN_LIST LIBCLC_TARGETS set_target_properties( generate-clspv-convert.cl PROPERTIES FOLDER "libclc/Sourcegenning" ) endif() +set_source_files_properties( + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_cos.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_divide.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_exp.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_exp10.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_exp2.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_log.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_log10.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_log2.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_powr.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_recip.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_rsqrt.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_sin.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_sqrt.cl + ${CMAKE_CURRENT_SOURCE_DIR}/generic/lib/math/native_tan.cl + ${CMAKE_CURRENT_SOURCE_DIR}/amdgpu/lib/math/native_exp.cl + ${CMAKE_CURRENT_SOURCE_DIR}/amdgpu/lib/math/native_log.cl + ${CMAKE_CURRENT_SOURCE_DIR}/amdgpu/lib/math/native_log10.cl + ${CMAKE_CURRENT_SOURCE_DIR}/r600/lib/math/native_rsqrt.cl + PROPERTIES COMPILE_OPTIONS -fapprox-func +) + enable_testing() foreach( t ${LIBCLC_TARGETS_TO_BUILD} ) diff --git a/libclc/cmake/modules/AddLibclc.cmake b/libclc/cmake/modules/AddLibclc.cmake index be8937cd13107..e88f9e4643356 100644 --- a/libclc/cmake/modules/AddLibclc.cmake +++ b/libclc/cmake/modules/AddLibclc.cmake @@ -261,11 +261,17 @@ function(add_libclc_builtin_set) get_filename_component( file_dir ${file} DIRECTORY ) + set( file_specific_compile_options ) + get_source_file_property( compile_opts ${file} COMPILE_OPTIONS) + if( compile_opts ) + set( file_specific_compile_options "${compile_opts}" ) + endif() + compile_to_bc( TRIPLE ${ARG_TRIPLE} INPUT ${input_file} OUTPUT ${output_file} - EXTRA_OPTS -fno-builtin -nostdlib + EXTRA_OPTS -fno-builtin -nostdlib "${file_specific_compile_options}" "${ARG_COMPILE_FLAGS}" -I${CMAKE_CURRENT_SOURCE_DIR}/${file_dir} DEPENDENCIES ${input_file_dep} ) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits