[llvm] Add lowering for llvm.vector.splice.va (PR #174261)

via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 5 11:36:58 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 3015 tests passed
* 29 tests skipped

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

<details>
<summary>[code=1] lib/Target/Hexagon/CMakeFiles/LLVMHexagonCodeGen.dir/HexagonVectorCombine.cpp.obj</summary>

```
FAILED: [code=1] lib/Target/Hexagon/CMakeFiles/LLVMHexagonCodeGen.dir/HexagonVectorCombine.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Ilib\Target\Hexagon -IC:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -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 /Gw /O2 /Ob2  -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Folib\Target\Hexagon\CMakeFiles\LLVMHexagonCodeGen.dir\HexagonVectorCombine.cpp.obj /Fdlib\Target\Hexagon\CMakeFiles\LLVMHexagonCodeGen.dir\LLVMHexagonCodeGen.pdb -c -- C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(1914,62): error: function definition is not allowed here
1914 | Value *HvxIdioms::processVectorSplice(Instruction &In) const {
|                                                              ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(1990,40): error: function definition is not allowed here
1990 | inline bool isArithmetic(unsigned Opc) {
|                                        ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2008,38): error: function definition is not allowed here
2008 | inline Value *getPointer(Value *Ptr) {
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2022,70): error: function definition is not allowed here
2022 |                                       HvxIdioms::DstQualifier &Qual) {
|                                                                      ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2074,80): error: function definition is not allowed here
2074 | Instruction *locateDestination(Instruction *In, HvxIdioms::DstQualifier &Qual) {
|                                                                                ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2096,67): error: function definition is not allowed here
2096 | inline GetElementPtrInst *locateGepFromIntrinsic(Instruction *In) {
|                                                                   ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2113,59): error: function definition is not allowed here
2113 | static Value *locateAddressFromIntrinsic(Instruction *In) {
|                                                           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2159,38): error: function definition is not allowed here
2159 | static Type *getIndexType(Value *In) {
|                                      ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2175,47): error: function definition is not allowed here
2175 | static Value *locateIndexesFromGEP(Value *In) {
|                                               ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2203,59): error: function definition is not allowed here
2203 | static Value *locateIndexesFromIntrinsic(Instruction *In) {
|                                                           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2222,76): error: function definition is not allowed here
2222 |                                                LLVMContext &Ctx, Value *I) {
|                                                                            ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2237,75): error: function definition is not allowed here
2237 |                                               LLVMContext &Ctx, Value *I) {
|                                                                           ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2252,50): error: function definition is not allowed here
2252 |                            unsigned int pattern) {
|                                                  ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2263,58): error: function definition is not allowed here
2263 | Value *HvxIdioms::processVScatter(Instruction &In) const {
|                                                          ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2402,57): error: function definition is not allowed here
2402 | Value *HvxIdioms::processVGather(Instruction &In) const {
|                                                         ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2816,78): error: function definition is not allowed here
2816 |                                                           PHINode *PN) const {
|                                                                              ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2851,67): error: function definition is not allowed here
2851 |                                                 Value *ptr) const {
|                                                                   ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2858,70): error: function definition is not allowed here
2858 |                             SmallPtrSet<Value *, 16> &Visited) const {
|                                                                      ^
C:\_work\llvm-project\llvm-project\llvm\lib\Target\Hexagon\HexagonVectorCombine.cpp(2924,56): error: function definition is not allowed here
2924 | Value *HvxIdioms::processMStore(Instruction &In) const {
|                                                        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 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/174261


More information about the llvm-commits mailing list