[llvm] [SCEV] Urem identification from X - C*X/uC (PR #210778)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 30 00:00:04 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 154355 tests passed
* 3431 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/memmove-var-size.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu10.30-amd-amdhsa /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=amdgpu10.30-amd-amdhsa /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll -o -
# 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/AMDGPU/memmove-var-size.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:65:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:63:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:61:29: note: previous match ended here
# | v_add_co_u32 v2, s5, v2, v4
# | ^
# | <stdin>:62:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v8, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:214:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:232:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:230:29: note: previous match ended here
# | v_add_co_u32 v2, s5, v2, v4
# | ^
# | <stdin>:231:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v8, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:362:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v1, null, v1, v4, s5
# | ^
# | <stdin>:400:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v1, null, v1, v4, s5
# | ^
# | <stdin>:398:29: note: previous match ended here
# | v_add_nc_u32_e32 v2, v2, v3
# | ^
# | <stdin>:399:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v7, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:506:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:564:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:562:29: note: previous match ended here
# | v_add_co_u32 v2, s5, v2, v4
# | ^
# | <stdin>:563:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v8, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:658:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v1, null, v1, v4, s5
# | ^
# | <stdin>:736:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v1, null, v1, v4, s5
# | ^
# | <stdin>:734:29: note: previous match ended here
# | v_add_nc_u32_e32 v2, v2, v3
# | ^
# | <stdin>:735:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v7, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:806:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:903:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:901:29: note: previous match ended here
# | v_add_co_u32 v2, s5, v2, v4
# | ^
# | <stdin>:902:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v8, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:953:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:1070:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:1068:29: note: previous match ended here
# | v_add_co_u32 v2, s5, v2, v4
# | ^
# | <stdin>:1069:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v8, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:1162:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:1317:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | ^
# | <stdin>:1315:29: note: previous match ended here
# | v_add_co_u32 v2, s5, v2, v4
# | ^
# | <stdin>:1316:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v8, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:1379:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v1, null, v2, v4, s5
# | ^
# | <stdin>:1571:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v1, null, v2, v4, s5
# | ^
# | <stdin>:1569:29: note: previous match ended here
# | v_add_co_u32 v0, s5, v1, v3
# | ^
# | <stdin>:1570:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v7, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:1555:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_mov_b32_e32 v7, v0
# | ^
# | <stdin>:1783:22: note: scanning from here
# | v_mov_b32_e32 v3, v2
# | ^
# | <stdin>:1784:2: note: possible intended match here
# | v_mov_b32_e32 v6, v0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:1845:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: v_add_co_ci_u32_e64 v1, null, v2, v4, s5
# | ^
# | <stdin>:2130:2: note: 'next' match was here
# | v_add_co_ci_u32_e64 v1, null, v2, v4, s5
# | ^
# | <stdin>:2128:29: note: previous match ended here
# | v_add_co_u32 v0, s5, v1, v3
# | ^
# | <stdin>:2129:1: note: non-matching line after previous match is here
# | v_mov_b32_e32 v7, 0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll:2155:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: v_mov_b32_e32 v7, v0
# | ^
# | <stdin>:2512:22: note: scanning from here
# | v_mov_b32_e32 v3, v2
# | ^
# | <stdin>:2513:2: note: possible intended match here
# | v_mov_b32_e32 v6, v0
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 56: s_and_saveexec_b32 s8, s4
# | 57: s_cbranch_execz .LBB0_9
# | 58: ; %bb.7: ; %memmove_fwd_residual_loop.preheader
# | 59: v_add_co_u32 v0, s5, v0, v4
# | 60: v_add_co_ci_u32_e64 v1, null, v1, v5, s5
# | 61: v_add_co_u32 v2, s5, v2, v4
# | next:65'0 { search range start (exclusive)
# | 62: v_mov_b32_e32 v8, 0
# | 63: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | next:65'1 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 64: s_mov_b32 s9, 0
# | 65: .p2align 6
# | 66: .LBB0_8: ; %memmove_fwd_residual_loop
# | 67: ; =>This Inner Loop Header: Depth=1
# | 68: flat_load_ubyte v4, v[2:3]
# | .
# | .
# | .
# | 171: ; MemoryBound: 0
# | 172: .text
# | 173: .globl memmove_p0_p1 ; -- Begin function memmove_p0_p1
# | 174: .p2align 6
# | 175: .type memmove_p0_p1, at function
# | 176: memmove_p0_p1: ; @memmove_p0_p1
# | next:65'2 } search range end (exclusive)
# | 177: ; %bb.0: ; %entry
# | 178: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# | 179: v_mov_b32_e32 v6, v4
# | 180: v_mov_b32_e32 v8, 0
# | 181: v_mov_b32_e32 v12, v3
# | .
# | .
# | .
# | 225: s_and_saveexec_b32 s8, s4
# | 226: s_cbranch_execz .LBB1_9
# | 227: ; %bb.7: ; %memmove_fwd_residual_loop.preheader
# | 228: v_add_co_u32 v0, s5, v0, v4
# | 229: v_add_co_ci_u32_e64 v1, null, v1, v5, s5
# | 230: v_add_co_u32 v2, s5, v2, v4
# | next:214'0 { search range start (exclusive)
# | 231: v_mov_b32_e32 v8, 0
# | 232: v_add_co_ci_u32_e64 v3, null, v3, v5, s5
# | next:214'1 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 233: s_mov_b32 s9, 0
# | 234: .p2align 6
# | 235: .LBB1_8: ; %memmove_fwd_residual_loop
# | 236: ; =>This Inner Loop Header: Depth=1
# | 237: global_load_ubyte v4, v[2:3], off
# | .
# | .
# | .
# | 340: ; MemoryBound: 0
# | 341: .text
# | 342: .globl memmove_p0_p3 ; -- Begin function memmove_p0_p3
# | 343: .p2align 6
# | 344: .type memmove_p0_p3, at function
# | 345: memmove_p0_p3: ; @memmove_p0_p3
# | next:214'2 } search range end (exclusive)
# | 346: ; %bb.0: ; %entry
# | 347: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
# | 348: v_mov_b32_e32 v5, v3
# | 349: v_mov_b32_e32 v7, 0
# | 350: v_cmp_ne_u64_e32 vcc_lo, 0, v[0:1]
# | .
# | .
# | .
# | 393: s_or_b32 exec_lo, exec_lo, s8
# | 394: s_and_saveexec_b32 s8, s4
# | 395: s_cbranch_execz .LBB2_9
# | 396: ; %bb.7: ; %memmove_fwd_residual_loop.preheader
# | 397: v_add_co_u32 v0, s5, v0, v3
# | 398: v_add_nc_u32_e32 v2, v2, v3
# | next:362'0 { search range start (exclusive)
# | 399: v_mov_b32_e32 v7, 0
# | 400: v_add_co_ci_u32_e64 v1, null, v1, v4, s5
# | next:362'1 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error: match on wrong line
# | 401: s_mov_b32 s9, 0
# | 402: .p2align 6
# | 403: .LBB2_8: ; %memmove_fwd_residual_loop
# | 404: ; =>This Inner Loop Header: Depth=1
# | 405: ds_read_u8 v3, v2
# | .
# | .
# | .
# | 503: ; MemoryBound: 0
# | 504: .text
# | 505: .globl memmove_p0_p4 ; -- Begin function memmove_p0_p4
# | 506: .p2align 6
# | 507: .type memmove_p0_p4, at function
# | 508: memmove_p0_p4: ; @memmove_p0_p4
# | ne
# | ...
# `---data was truncated (10240/22909) (change limit with -D output_limit=N)
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/Thumb/branch-to-return.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=thumbv7 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Thumb/branch-to-return.ll -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Thumb/branch-to-return.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -mtriple=thumbv7 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Thumb/branch-to-return.ll -o -
# 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/Thumb/branch-to-return.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Thumb/branch-to-return.ll:12:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: bic r3, r1, #3
# | ^
# | <stdin>:30:31: note: scanning from here
# | @ %bb.1: @ %for.body.preheader
# | ^
# | <stdin>:38:2: note: possible intended match here
# | bic r0, r1, #3
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/Thumb/branch-to-return.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 25: foo: @ @foo
# | 26: .fnstart
# | 27: @ %bb.0: @ %entry
# | 28: cmp r1, #1
# | 29: blt .LBB0_4
# | 30: @ %bb.1: @ %for.body.preheader
# | next:12'0 { search range start (exclusive)
# | next:12'1 error: no match found in search range
# | 31: mov r2, r0
# | 32: cmp r1, #4
# | 33: bhs .LBB0_3
# | 34: @ %bb.2:
# | 35: movs r0, #0
# | 36: b .LBB0_6
# | 37: .LBB0_3: @ %middle.block
# | 38: bic r0, r1, #3
# | next:12'2 ? possible intended match
# | 39: cmp r0, r1
# | 40: bne .LBB0_5
# | 41: .LBB0_4:
# | 42: movs r0, #0
# | 43: bx lr
# | .
# | .
# | .
# | 58: bx lr
# | 59: .Lfunc_end0:
# | 60: .size foo, .Lfunc_end0-foo
# | 61: .fnend
# | 62: @ -- End function
# | 63: .section ".note.GNU-stack","",%progbits
# | next:12'3 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/210778
More information about the llvm-commits
mailing list