[llvm] [llvm-cov] Preserve line coverage for trailing zero-length regions (PR #227849)

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 30 17:04:21 PDT 2026


github-actions[bot] wrote:

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

* 143114 tests passed
* 3404 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/loop-header-align-gfx950.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=amdgpu9.50 -run-pass=block-placement -o - C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\loop-header-align-gfx950.mir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\loop-header-align-gfx950.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=amdgpu9.50 -run-pass=block-placement -o - 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\loop-header-align-gfx950.mir'
# 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\AMDGPU\loop-header-align-gfx950.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\loop-header-align-gfx950.mir:26:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: bb.1 (align 32):
# |                ^
# | <stdin>:139:2: note: scanning from here
# |  
# |  ^
# | <stdin>:140:2: note: possible intended match here
# |  bb.1 (align 32, max-bytes-for-alignment 4):
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\loop-header-align-gfx950.mir:239:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: bb.6 (align 32):
# |                ^
# | <stdin>:558:2: note: scanning from here
# |  
# |  ^
# | <stdin>:559:2: note: possible intended match here
# |  bb.6 (align 32, max-bytes-for-alignment 4):
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\loop-header-align-gfx950.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           134:  bb.0: 
# |           135:  successors: %bb.1(0x80000000) 
# |           136:  liveins: $vgpr0_vgpr1 
# |           137:   
# |           138:  renamable $sgpr0_sgpr1 = S_MOV_B64 0 
# |           139:   
# | next:26'0      {   search range start (exclusive)
# | next:26'1          error: no match found in search range
# |           140:  bb.1 (align 32, max-bytes-for-alignment 4): 
# | next:26'2       ?                                             possible intended match
# |           141:  successors: %bb.2(0x04000000), %bb.1(0x7c000000) 
# |           142:  liveins: $sgpr0_sgpr1, $vgpr0_vgpr1 
# |           143:   
# |           144:  renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 1, killed $vgpr0_vgpr1, implicit $exec 
# |           145:  V_CMP_EQ_U64_e32 0, $vgpr0_vgpr1, implicit-def $vcc, implicit $exec 
# |             .
# |             .
# |             .
# |           152:   
# |           153:  $exec = S_OR_B64 $exec, killed renamable $sgpr0_sgpr1, implicit-def $scc 
# |           154:  S_SETPC_B64_return undef $sgpr30_sgpr31 
# |           155: ... 
# |           156: --- 
# |           157: name: loop_with_4byte_first_inst 
# | next:26'3                                      }  search range end (exclusive)
# |           158: alignment: 1 
# |           159: exposesReturnsTwice: false 
# |           160: legalized: false 
# |           161: regBankSelected: false 
# |           162: selected: false 
# |             .
# |             .
# |             .
# |           553:  bb.1: 
# |           554:  successors: %bb.2(0x80000000) 
# |           555:  liveins: $vgpr0_vgpr1 
# |           556:   
# |           557:  S_BRANCH %bb.2 
# |           558:   
# | next:239'0     {   search range start (exclusive)
# | next:239'1         error: no match found in search range
# |           559:  bb.6 (align 32, max-bytes-for-alignment 4): 
# | next:239'2      ?                                             possible intended match
# |           560:  successors: %bb.7(0x04000000), %bb.2(0x7c000000) 
# |           561:  liveins: $vgpr0_vgpr1 
# |           562:   
# |           563:  renamable $vgpr0_vgpr1 = V_LSHRREV_B64_e64 1, $vgpr0_vgpr1, implicit $exec 
# |           564:  V_CMP_EQ_U32_e32 0, $vgpr0, implicit-def $vcc, implicit $exec 
# |             .
# |             .
# |             .
# |           593:  renamable $vgpr0 = V_ADD_U32_e32 1, $vgpr0, implicit $exec 
# |           594:  S_BRANCH %bb.6 
# |           595:   
# |           596:  bb.7: 
# |           597:  S_SETPC_B64_return undef $sgpr30_sgpr31 
# |           598: ... 
# | next:239'3         } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.tools/llvm-cov/trailing-zero-length-region.test</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 7
c:\_work\llvm-project\llvm-project\build\bin\llvm-profdata.exe merge C:\_work\llvm-project\llvm-project\llvm\test\tools\llvm-cov/Inputs/trailing-zero-length-region-zero.proftext -o C:\_work\llvm-project\llvm-project\build\test\tools\llvm-cov\Output\trailing-zero-length-region.test.tmp.zero.profdata
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-profdata.exe' merge 'C:\_work\llvm-project\llvm-project\llvm\test\tools\llvm-cov/Inputs/trailing-zero-length-region-zero.proftext' -o 'C:\_work\llvm-project\llvm-project\build\test\tools\llvm-cov\Output\trailing-zero-length-region.test.tmp.zero.profdata'
# note: command had no output on stdout or stderr
# RUN: at line 8
c:\_work\llvm-project\llvm-project\build\bin\llvm-cov.exe export --format=lcov C:\_work\llvm-project\llvm-project\llvm\test\tools\llvm-cov/Inputs/trailing-zero-length-region.covmapping -instr-profile C:\_work\llvm-project\llvm-project\build\test\tools\llvm-cov\Output\trailing-zero-length-region.test.tmp.zero.profdata | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\tools\llvm-cov\trailing-zero-length-region.test --check-prefix=ZERO
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llvm-cov.exe' export --format=lcov 'C:\_work\llvm-project\llvm-project\llvm\test\tools\llvm-cov/Inputs/trailing-zero-length-region.covmapping' -instr-profile 'C:\_work\llvm-project\llvm-project\build\test\tools\llvm-cov\Output\trailing-zero-length-region.test.tmp.zero.profdata'
# .---command stderr------------
# | error: failed to load coverage: 'C:\_work\llvm-project\llvm-project\llvm\test\tools\llvm-cov/Inputs/trailing-zero-length-region.covmapping': profile uses zlib compression but the profile reader was built without zlib support
# | error: could not load coverage information
# `-----------------------------
# error: command failed with exit status: 1
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\tools\llvm-cov\trailing-zero-length-region.test' --check-prefix=ZERO
# .---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\tools\llvm-cov\trailing-zero-length-region.test --check-prefix=ZERO
# `-----------------------------
# 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/227849


More information about the llvm-commits mailing list