Bug#1119826: hipcc: fatal error in backend compiling rocprim device_scan_by_key
Cordell Bloor
cgmb at debian.org
Fri Oct 31 21:49:03 GMT 2025
Package: clang-21
Version: 1:21.1.4-5
Severity: normal
X-Debbugs-Cc: cgmb at debian.org,debian-ai at lists.debian.org
Dear Maintainer,
When updating src:rocprim 6.4.3-1 to use LLVM 21, I encountered a compilation
error when building test_device_scan. The relevent portion of the build log is:
```
fatal error: error in backend: Cannot select: 0x5601b2cf41f0: v2i32 = bitcast FrameIndex:i32<107>, ./rocprim/include/rocprim/device/detail/device_scan_by_key.hpp:176:27 @[ ./rocprim/include/rocprim/device/detail/device_scan_by_key.hpp:338:25 @[ ./rocprim/include/rocprim/device/device_scan_by_key.hpp:73:5 ] ]
In function: _ZN7rocprim6detail25device_scan_by_key_kernelILNS0_25lookback_scan_determinismE1ELb1ENS0_26wrapped_scan_by_key_configINS_14default_configEjN10test_utils22custom_test_array_typeIiLm10EEEEEPjNS_18transform_iteratorIPS7_ZN46RocprimDeviceScanTests_ExclusiveScanByKey_TestI16DeviceScanParamsIS7_S7_NS_4plusIS7_EELb0E21default_config_helperLb0ELb0EEE8TestBodyEvEUlS7_E_S7_EESB_S7_NS_8equal_toIjEESF_NS0_19lookback_scan_stateINS_5tupleIJS7_bEEELb0ELb0EEES7_EEvT2_T3_T4_T5_T6_T7_T8_mmmPKNSO_IJT9_bEEE
make[3]: Leaving directory '/root/rocprim/rocprim/obj-x86_64-linux-gnu'
[ 93%] Built target test_warp_exchange
clang++-21: error: clang frontend command failed with exit code 70 (use -v to see invocation)
Debian clang version 21.1.4 (5 fb6c4c0009b70a63ce23a587bf7210b12757a332)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-21/bin
clang++-21: note: diagnostic msg: Error generating preprocessed source(s).
failed to execute:/usr/bin/clang++-21 --offload-arch=gfx906 -DUSE_PROF_API=1 -D__HIP_PLATFORM_AMD__=1 -I/root/rocprim/rocprim/obj-x86_64-linux-gnu/rocprim/include -I/root/rocprim/rocprim/obj-x86_64-linux-gnu/rocprim/include/rocprim -I/root/rocprim/rocprim/rocprim/include -isystem /root/rocprim/rocprim/test -gz -DROCPRIM_NO_DEPRECATION_WARNINGS -g -O2 -ffile-prefix-map=/root/rocprim/rocprim=. -Xarch_host -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -Xarch_host -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -std=c++17 -DGTEST_HAS_PTHREAD=1 -x hip -MD -MT test/rocprim/CMakeFiles/test_device_scan.dir/test_device_scan.cpp.o -MF CMakeFiles/test_device_scan.dir/test_device_scan.cpp.o.d -o "CMakeFiles/test_device_scan.dir/test_device_scan.cpp.o" -c /root/rocprim/rocprim/test/rocprim/test_device_scan.cpp
make[3]: *** [test/rocprim/CMakeFiles/test_device_scan.dir/build.make:82: test/rocprim/CMakeFiles/test_device_scan.dir/test_device_scan.cpp.o] Error 1
make[3]: Leaving directory '/root/rocprim/rocprim/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:1721: test/rocprim/CMakeFiles/test_device_scan.dir/all] Error 2
```
As a workaround, I have skipped building test_device_scan in
librocprim-tests. However, I presume this is an indication of a deeper
problem. I assume that this is a clang bug, as my expectation would be that
it probably shouldn't be possible to cause a fatal error in the clang backend.
However, it's possible that this is ultimately the fault of a different
component.
Sincerely,
Cory Bloor
-- System Information:
Debian Release: forky/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 6.16.12+deb14+1-amd64 (SMP w/32 CPU threads; PREEMPT)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: unable to detect
Versions of packages clang-21 depends on:
ii binutils 2.45-8
ii libc6 2.41-12
ii libc6-dev 2.41-12
ii libclang-common-21-dev 1:21.1.4-5
ii libclang-cpp21 1:21.1.4-5
ii libclang1-21 1:21.1.4-5
ii libgcc-15-dev 15.2.0-7
ii libgcc-s1 15.2.0-7
ii libllvm21 1:21.1.4-5
ii libobjc-15-dev 15.2.0-7
ii libstdc++-15-dev 15.2.0-7
ii libstdc++6 15.2.0-7
ii llvm-21-linker-tools 1:21.1.4-5
Versions of packages clang-21 recommends:
ii clang-tools-21 1:21.1.4-5
pn llvm-21-dev <none>
ii python3 3.13.7-1
Versions of packages clang-21 suggests:
pn clang-21-doc <none>
pn wasi-libc <none>
-- no debconf information
More information about the Pkg-llvm-team
mailing list