[clang] [llvm] [clang-sycl-linker] Add per-kernel device code splitting (PR #195362)

via cfe-commits cfe-commits at lists.llvm.org
Fri May 1 14:52:56 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 122628 tests passed
* 2339 tests skipped

All executed tests passed, but another part of the build **failed**. Click on a failure below to see the details.

<details>
<summary>tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o</summary>

```
FAILED: tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o
sccache /opt/llvm/bin/clang++ -DLLVM_BUILD_STATIC -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_EXTENSIVE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/clang-sycl-linker -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/clang-sycl-linker -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o -MF tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o.d -o tools/clang/tools/clang-sycl-linker/CMakeFiles/clang-sycl-linker.dir/ClangSYCLLinker.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:21:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/StringExtras.h:18:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:14:
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1189:7: error: static assertion failed due to requirement 'sizeof((anonymous namespace)::SplitModule) <= 256': You are trying to use a default number of inlined elements for `SmallVector<T>` but `sizeof(T)` is really big! Please use an explicit number of inlined elements with `SmallVector<T, N>` to make sure you really want that much inline storage.
1189 |       sizeof(T) <= 256,
|       ^~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1221:24: note: in instantiation of template class 'llvm::CalculateSmallVectorDefaultInlinedElements<(anonymous namespace)::SplitModule>' requested here
1221 |           unsigned N = CalculateSmallVectorDefaultInlinedElements<T>::value>
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:515:17: note: in instantiation of default argument for 'SmallVector<SplitModule>' required here
515 | static Expected<SmallVector<SplitModule>>
|                 ^~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/ADT/SmallVector.h:1189:17: note: expression evaluates to '304 <= 256'
1189 |       sizeof(T) <= 256,
|       ~~~~~~~~~~^~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:567:12: error: no viable conversion from returned value of type 'Error' to function return type 'int'
567 |     return Err;
|            ^~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:624:14: error: call to deleted constructor of 'Error'
624 |       return Err;
|              ^~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include/llvm/Support/Error.h:191:3: note: 'Error' has been explicitly marked deleted here
191 |   Error(const Error &Other) = delete;
|   ^
3 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the cfe-commits mailing list