[llvm] [MachineVerifier] Disallow subregister defs in SSA form (PR #189403)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 30 08:48:51 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 132867 tests passed
* 3037 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/X86/GlobalISel/add-vec.ll</summary>
```
Exit Code: 2
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=x86_64-linux-gnu -mcpu=skx -global-isel -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll --check-prefix=ALL --check-prefix=SKX
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-linux-gnu -mcpu=skx -global-isel -verify-machineinstrs -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll' --check-prefix=ALL --check-prefix=SKX
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=x86_64-linux-gnu -mcpu=core-avx2 -global-isel -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll --check-prefix=ALL --check-prefix=AVX2
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-linux-gnu -mcpu=core-avx2 -global-isel -verify-machineinstrs -o -
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll' --check-prefix=ALL --check-prefix=AVX2
# note: command had no output on stdout or stderr
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=x86_64-linux-gnu -mcpu=corei7-avx -global-isel -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll --check-prefix=ALL --check-prefix=AVX1
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=x86_64-linux-gnu -mcpu=corei7-avx -global-isel -verify-machineinstrs -o -
# .---command stderr------------
# |
# | # After InstructionSelect
# | # Machine code for function test_add_v32i8: IsSSA, TracksLiveness, Legalized, RegBankSelected, Selected
# | Function Live Ins: $ymm0, $ymm1
# |
# | bb.1 (%ir-block.0):
# | liveins: $ymm0, $ymm1
# | %0:vr256 = COPY $ymm0
# | %1:vr256 = COPY $ymm1
# | %3:vr128 = COPY %0.sub_xmm:vr256
# | %4:vr128 = VEXTRACTF128rri %0:vr256, 1
# | %5:vr128 = COPY %1.sub_xmm:vr256
# | %6:vr128 = VEXTRACTF128rri %1:vr256, 1
# | %7:vr128 = VPADDBrr %3:vr128, %5:vr128
# | %8:vr128 = VPADDBrr %4:vr128, %6:vr128
# | undef %9.sub_xmm:vr256 = COPY %7:vr128
# | %10:vr256 = VINSERTF128rri %9:vr256, %8:vr128, 1
# | $ymm0 = COPY %10:vr256
# | RET 0, implicit $ymm0
# |
# | # End machine code for function test_add_v32i8.
# |
# | *** Bad machine code: Subreg def in SSA form ***
# | - function: test_add_v32i8
# | - basic block: %bb.1 (0x21e2f74bc60)
# | - instruction: undef %9.sub_xmm:vr256 = COPY %7:vr128
# | - operand 0: undef %9.sub_xmm:vr256
# | LLVM ERROR: Found 1 machine code errors.
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0. Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\llc.exe -mtriple=x86_64-linux-gnu -mcpu=corei7-avx -global-isel -verify-machineinstrs -o -
# | 1. Running pass 'Function Pass Manager' on module '<stdin>'.
# | 2. Running pass 'Verify generated machine code' on function '@test_add_v32i8'
# | Exception Code: 0xC000001D
# | #0 0x00007ff7a1ef7d56 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x2d37d56)
# | #1 0x00007ff8545abb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# | #2 0x00007ff8545acad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# | #3 0x00007ff79f8bd57a (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6fd57a)
# | #4 0x00007ff79f65dad1 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x49dad1)
# | #5 0x00007ff79f65eeea (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x49eeea)
# | #6 0x00007ff79fc15d63 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0xa55d63)
# | #7 0x00007ff79f67fc29 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4bfc29)
# | #8 0x00007ff79f6886bd (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4c86bd)
# | #9 0x00007ff79f6808a8 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4c08a8)
# | #10 0x00007ff79f1c73e2 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x73e2)
# | #11 0x00007ff7a3a08b90 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4848b90)
# | #12 0x00007ff85b9c4cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #13 0x00007ff865c3edcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll' --check-prefix=ALL --check-prefix=AVX1
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line: c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\X86\GlobalISel\add-vec.ll --check-prefix=ALL --check-prefix=AVX1
# `-----------------------------
# error: command failed with exit status: 2
--
```
</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/189403
More information about the llvm-commits
mailing list