[llvm] [CodeGen][AMDGPU] TwoAddress: Only skip undef COPY at REG_SEQUENCE lowering when there is Live info or no uses for subreg (PR #175598)

via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 9 01:08:56 PST 2026


github-actions[bot] wrote:

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

* 130169 tests passed
* 2881 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/twoaddr-regsequence-keep-copy-on-use.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 1
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -run-pass=twoaddressinstruction -o - C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\twoaddr-regsequence-keep-copy-on-use.mir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe -check-prefix=CHECK C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\twoaddr-regsequence-keep-copy-on-use.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=amdgcn-amd-amdhsa -verify-machineinstrs -run-pass=twoaddressinstruction -o - 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\twoaddr-regsequence-keep-copy-on-use.mir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' -check-prefix=CHECK 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\twoaddr-regsequence-keep-copy-on-use.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\twoaddr-regsequence-keep-copy-on-use.mir:58:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: [[OTH:%[0-9]+]]:vgpr_32 = COPY [[DEF]], implicit $exec 
# |                ^
# | <stdin>:360:33: note: scanning from here
# |  undef %1.sub0:sreg_64 = COPY %0
# |                                 ^
# | <stdin>:360:33: note: with "DEF" equal to "%1"
# |  undef %1.sub0:sreg_64 = COPY %0
# |                                 ^
# | <stdin>:361:2: note: possible intended match here
# |  %3:vreg_64 = COPY %1, implicit $exec
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\twoaddr-regsequence-keep-copy-on-use.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |          355:  numKernargPreloadSGPRs: 0 
# |          356:  isWholeWaveFunction: false 
# |          357: body: | 
# |          358:  bb.0: 
# |          359:  %0:sgpr_32 = S_MOV_B32 0, implicit $exec 
# |          360:  undef %1.sub0:sreg_64 = COPY %0 
# | next:58'0                                     X error: no match found
# | next:58'1                                       with "DEF" equal to "%1"
# |          361:  %3:vreg_64 = COPY %1, implicit $exec 
# | next:58'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:58'2      ?                                     possible intended match
# |          362: ... 
# | next:58'0     ~~~~
# | >>>>>>
# `-----------------------------
# 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/175598


More information about the llvm-commits mailing list