[llvm] [SelectionDAG] Freeze dynamic vector indices lowered through the stack (PR #225031)

via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 29 02:04:56 PDT 2026


github-actions[bot] wrote:

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

* 154230 tests passed
* 3427 tests skipped
* 2 tests failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/X86/vector-compress.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll -mtriple=x86_64 -mcpu=x86-64-v3                     | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll --check-prefixes=CHECK,AVX2
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64 -mcpu=x86-64-v3
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll --check-prefixes=CHECK,AVX2
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll -mtriple=x86_64 -mcpu=knl                           | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll --check-prefixes=CHECK,AVX512F
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64 -mcpu=knl
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll --check-prefixes=CHECK,AVX512F
# note: command had no output on stdout or stderr
# RUN: at line 4
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll -mtriple=x86_64 -mcpu=x86-64-v4                     | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll --check-prefixes=CHECK,AVX512VL,AVX512VL-ONLY
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64 -mcpu=x86-64-v4
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll --check-prefixes=CHECK,AVX512VL,AVX512VL-ONLY
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll:3784:23: error: AVX512VL-ONLY-NEXT: is not on the line after the previous match
# | ; AVX512VL-ONLY-NEXT: kmovd %k6, %r10d
# |                       ^
# | <stdin>:1137:2: note: 'next' match was here
# |  kmovd %k6, %r10d
# |  ^
# | <stdin>:1124:17: note: previous match ended here
# |  addl %eax, %ecx
# |                 ^
# | <stdin>:1125:1: note: non-matching line after previous match is here
# |  kmovd %k6, %r11d
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-compress.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |              .
# |              .
# |              .
# |           1119:  kmovd %k6, %eax 
# |           1120:  movl %eax, 128(%rsp) # 4-byte Spill 
# |           1121:  kshiftrd $12, %k7, %k6 
# |           1122:  vpextrw $1, %xmm1, %eax 
# |           1123:  vmovd %xmm1, %ecx 
# |           1124:  addl %eax, %ecx 
# | next:3784'0                    {   search range start (exclusive)
# |           1125:  kmovd %k6, %r11d 
# |           1126:  kshiftrd $11, %k7, %k6 
# |           1127:  kmovd %k6, %ebx 
# |           1128:  kshiftrd $10, %k7, %k6 
# |           1129:  kmovd %k6, %r14d 
# |           1130:  kshiftrd $9, %k7, %k6 
# |           1131:  kmovd %k6, %r15d 
# |           1132:  kshiftrd $8, %k7, %k6 
# |           1133:  kmovd %k6, %r12d 
# |           1134:  kshiftrd $7, %k7, %k6 
# |           1135:  kmovd %k6, %r13d 
# |           1136:  kshiftrd $6, %k7, %k6 
# |           1137:  kmovd %k6, %r10d 
# | next:3784'1      !~~~~~~~~~~~~~~~   error: match on wrong line
# |           1138:  kshiftrd $5, %k7, %k6 
# |           1139:  kmovd %k6, %r9d 
# |           1140:  kshiftrd $4, %k7, %k6 
# |           1141:  kmovd %k6, %r8d 
# |           1142:  kshiftrd $3, %k7, %k6 
# |              .
# |              .
# |              .
# |           1379:  .size test_compress_v32i16, .Lfunc_end17-test_compress_v32i16 
# |           1380:  # -- End function 
# |           1381:  .globl test_compress_large # -- Begin function test_compress_large 
# |           1382:  .prefalign 4, .Lfunc_end18, nop 
# |           1383:  .type test_compress_large, at function 
# |           1384: test_compress_large: # @test_compress_large 
# | next:3784'2                         }                         search range end (exclusive)
# |           1385: # %bb.0: 
# |           1386:  pushq %rbp 
# |           1387:  movq %rsp, %rbp 
# |           1388:  andq $-64, %rsp 
# |           1389:  subq $576, %rsp # imm = 0x240 
# |              .
# |              .
# |              .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/X86/vector-extract-last-active.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-extract-last-active.ll -mtriple=x86_64-- -mcpu=x86-64    | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-extract-last-active.ll --check-prefixes=CHECK,SSE2
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=x86_64-- -mcpu=x86-64
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-extract-last-active.ll --check-prefixes=CHECK,SSE2
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-extract-last-active.ll:182:14: error: SSE2-NEXT: is not on the line after the previous match
# | ; SSE2-NEXT: movaps %xmm0, -{{[0-9]+}}(%rsp)
# |              ^
# | <stdin>:109:2: note: 'next' match was here
# |  movaps %xmm0, -24(%rsp)
# |  ^
# | <stdin>:103:9: note: previous match ended here
# | # %bb.0:
# |         ^
# | <stdin>:104:1: note: non-matching line after previous match is here
# |  psllq $63, %xmm1
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/X86/vector-extract-last-active.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            98:  # -- End function 
# |            99:  .globl extract_last_active_v2i32 # -- Begin function extract_last_active_v2i32 
# |           100:  .prefalign 4, .Lfunc_end2, nop 
# |           101:  .type extract_last_active_v2i32, at function 
# |           102: extract_last_active_v2i32: # @extract_last_active_v2i32 
# |           103: # %bb.0: 
# | next:182'0            {   search range start (exclusive)
# |           104:  psllq $63, %xmm1 
# |           105:  movmskpd %xmm1, %ecx 
# |           106:  xorl %eax, %eax 
# |           107:  cmpl $1, %ecx 
# |           108:  sbbl %eax, %eax 
# |           109:  movaps %xmm0, -24(%rsp) 
# | next:182'1      !~~~~~~~~~~~~~~~~~~~~~~   error: match on wrong line
# |           110:  pshufd $255, %xmm1, %xmm0 # xmm0 = xmm1[3,3,3,3] 
# |           111:  psrld $31, %xmm0 
# |           112:  movq %xmm0, %rcx 
# |           113:  movzwl %cx, %ecx 
# |           114:  orl -24(%rsp,%rcx,4), %eax 
# |             .
# |             .
# |             .
# |           141:  .size .LCPI3_2, 16 
# |           142:  .text 
# |           143:  .globl extract_last_active_v3i32 
# |           144:  .prefalign 4, .Lfunc_end3, nop 
# |           145:  .type extract_last_active_v3i32, at function 
# |           146: extract_last_active_v3i32: # @extract_last_active_v3i32 
# | next:182'2                               }                               search range end (exclusive)
# |           147: # %bb.0: 
# |           148:  movd %esi, %xmm1 
# |           149:  movd %edi, %xmm2 
# |           150:  movdqa %xmm2, %xmm4 
# |           151:  punpckldq %xmm1, %xmm4 # xmm4 = xmm4[0],xmm1[0],xmm4[1],xmm1[1] 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</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/225031


More information about the llvm-commits mailing list