[libclc] [libclc] Move conversion builtins to the CLC library (PR #124727)

Michał Górny via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 15 02:42:34 PST 2025


mgorny wrote:

This change broke standalone libclc builds on Gentoo:

```
make -C /tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc_build/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DLIBCLC_TARGETS_TO_BUILD=spirv-mesa3d-;spirv64-mesa3d-;r600--;amdgcn--;amdgcn-mesa-mesa3d;amdgcn--amdhsa -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc_build/gentoo_toolchain.cmake /tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc
loading initial cache file /tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc_build/gentoo_common_config.cmake
-- The CXX compiler identification is GNU 14.2.1
-- The C compiler identification is GNU 14.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/ccache/bin/x86_64-pc-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Performing Test HAVE_FFI_CALL
-- Performing Test HAVE_FFI_CALL - Success
-- Found FFI: /usr/lib64/libffi.so
-- Looking for histedit.h
-- Looking for histedit.h - found
-- Found LibEdit: /usr/include (found version "2.11")
-- Found ZLIB: /usr/lib64/libz.so (found version "1.3.1")
-- Found zstd: /usr/lib64/libzstd.so
-- Found LibXml2: /usr/lib64/libxml2.so (found version "2.13.5")
-- Linker detection: GNU ld
-- libclc LLVM version: 21.0.0gitc30a7f45
-- Found Python3: /tmp/portage/llvm-core/libclc-21.0.0_pre20250215/temp/python3.13/bin/python3 (found version "3.13.2") found components: Interpreter
-- libclc target 'amdgcn--' is enabled
--   device: tahiti ( pitcairn;verde;oland;hainan;bonaire;kabini;kaveri;hawaii;mullins;tonga;tongapro;iceland;carrizo;fiji;stoney;polaris10;polaris11;gfx602;gfx705;gfx805;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx940;gfx941;gfx942;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201 )
-- libclc target 'amdgcn--amdhsa' is enabled
--   device: none (  )
-- libclc target 'amdgcn-mesa-mesa3d' is enabled
--   device: tahiti ( pitcairn;verde;oland;hainan;bonaire;kabini;kaveri;hawaii;mullins;tonga;tongapro;iceland;carrizo;fiji;stoney;polaris10;polaris11;gfx602;gfx705;gfx805;gfx900;gfx902;gfx904;gfx906;gfx908;gfx909;gfx90a;gfx90c;gfx940;gfx941;gfx942;gfx1010;gfx1011;gfx1012;gfx1013;gfx1030;gfx1031;gfx1032;gfx1033;gfx1034;gfx1035;gfx1036;gfx1100;gfx1101;gfx1102;gfx1103;gfx1150;gfx1151;gfx1152;gfx1153;gfx1200;gfx1201 )
-- libclc target 'r600--' is enabled
--   device: cedar ( palm;sumo;sumo2;redwood;juniper )
--   device: cypress ( hemlock )
--   device: barts ( turks;caicos )
--   device: cayman ( aruba )
-- libclc target 'spirv-mesa3d-' is enabled
--   device: none (  )
-- libclc target 'spirv64-mesa3d-' is enabled
--   device: none (  )
-- <<< Gentoo configuration >>>
Build type      RelWithDebInfo
Install path    /usr
Compiler flags:
C               -march=znver2 --param=l1-cache-size=32 --param=l1-cache-line-size=64 -O2 -pipe -frecord-gcc-switches
C++             -march=znver2 --param=l1-cache-size=32 --param=l1-cache-line-size=64 -O2 -pipe -frecord-gcc-switches
Linker flags:
Executable      -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0
Module          -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0
Shared          -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0
- Configuring done (1.5s)
-- Generating done (2.5s)
-- Build files have been written to: /tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc_build
>>> Source configured.
>>> Compiling source in /tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc ...
 * Source directory (CMAKE_USE_DIR): "/tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc"
 * Build directory  (BUILD_DIR):     "/tmp/portage/llvm-core/libclc-21.0.0_pre20250215/work/libclc_build"
ninja -v -j12 -l13
ninja: error: 'clspv-generate_convert.cl', needed by 'obj.libclc.dir/tahiti-amdgcn--/clc-convert.cl.bc', missing and no known rule to make it

```

https://github.com/llvm/llvm-project/pull/124727


More information about the cfe-commits mailing list