[llvm] [LICM] Improve LICM when calls only change Inaccessible memory (PR #169379)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 16 08:02:23 PDT 2026


github-actions[bot] wrote:

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

* 133649 tests passed
* 3114 tests skipped
* 3 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/PowerPC/PR35812-neg-cmpxchg.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 4
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=powerpc64le-linux-gnu -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\PR35812-neg-cmpxchg.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\PR35812-neg-cmpxchg.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=powerpc64le-linux-gnu -verify-machineinstrs
# 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\PowerPC\PR35812-neg-cmpxchg.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\PR35812-neg-cmpxchg.ll:24:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: li 4, 234
# |               ^
# | <stdin>:27:2: note: 'next' match was here
# |  li 4, 234
# |  ^
# | <stdin>:25:32: note: previous match ended here
# | # %bb.1: # %cmpxchg.fencedstore
# |                                ^
# | <stdin>:26:1: note: non-matching line after previous match is here
# |  sync
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\PR35812-neg-cmpxchg.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |          .
# |          .
# |          .
# |         22:  lharx 4, 0, 3 
# |         23:  cmplwi 4, 33059 
# |         24:  bne- 0, .LBB0_4 
# |         25: # %bb.1: # %cmpxchg.fencedstore 
# |         26:  sync 
# |         27:  li 4, 234 
# | next:24      !~~~~~~~~  error: match on wrong line
# |         28: .LBB0_2: # %cmpxchg.trystore 
# |         29:  # =>This Inner Loop Header: Depth=1 
# |         30:  sthcx. 4, 0, 3 
# |         31:  beq+ 0, .LBB0_5 
# |         32: # %bb.3: # %cmpxchg.releasedload 
# |          .
# |          .
# |          .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/PowerPC/all-atomics.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=powerpc64le-linux-gnu -mcpu=pwr8 -verify-machineinstrs    < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\all-atomics.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\all-atomics.ll
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=powerpc64le-linux-gnu -mcpu=pwr8 -verify-machineinstrs
# 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\PowerPC\all-atomics.ll'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\all-atomics.ll:4353:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: stbcx. 8, 0, 6
# |               ^
# | <stdin>:1701:2: note: 'next' match was here
# |  stbcx. 8, 0, 6
# |  ^
# | <stdin>:1698:6: note: previous match ended here
# |  sync
# |      ^
# | <stdin>:1699:1: note: non-matching line after previous match is here
# | .LBB3_2: # %cmpxchg.trystore275
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\all-atomics.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |         1696:  bne- 0, .LBB3_4 
# |         1697: # %bb.1: # %cmpxchg.fencedstore276 
# |         1698:  sync 
# |         1699: .LBB3_2: # %cmpxchg.trystore275 
# |         1700:  # =>This Inner Loop Header: Depth=1 
# |         1701:  stbcx. 8, 0, 6 
# | next:4353      !~~~~~~~~~~~~~  error: match on wrong line
# |         1702:  beq+ 0, .LBB3_4 
# |         1703: # %bb.3: # %cmpxchg.releasedload274 
# |         1704:  # in Loop: Header=BB3_2 Depth=1 
# |         1705:  lbarx 5, 0, 6 
# |         1706:  cmplw 5, 7 
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/PowerPC/atomics.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -verify-machineinstrs < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\atomics.ll -mtriple=powerpc-unknown-linux-gnu -verify-machineinstrs  -ppc-asm-full-reg-names | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\atomics.ll --check-prefix=CHECK --check-prefix=PPC32
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -verify-machineinstrs -mtriple=powerpc-unknown-linux-gnu -verify-machineinstrs -ppc-asm-full-reg-names
# 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\PowerPC\atomics.ll' --check-prefix=CHECK --check-prefix=PPC32
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\atomics.ll:271:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: stwcx. r5, 0, r4
# |               ^
# | <stdin>:223:2: note: 'next' match was here
# |  stwcx. r5, 0, r4
# |  ^
# | <stdin>:220:8: note: previous match ended here
# |  lwsync
# |        ^
# | <stdin>:221:1: note: non-matching line after previous match is here
# | .LBB10_2: # %cmpxchg.trystore
# | ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\PowerPC\atomics.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |         218: # %bb.1: # %cmpxchg.fencedstore 
# |         219:  li r5, 1 
# |         220:  lwsync 
# |         221: .LBB10_2: # %cmpxchg.trystore 
# |         222:  # =>This Inner Loop Header: Depth=1 
# |         223:  stwcx. r5, 0, r4 
# | next:271      !~~~~~~~~~~~~~~~  error: match on wrong line
# |         224:  beq+ cr0, .LBB10_4 
# |         225: # %bb.3: # %cmpxchg.releasedload 
# |         226:  # in Loop: Header=BB10_2 Depth=1 
# |         227:  lwarx r3, 0, r4 
# |         228:  cmplwi r3, 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/169379


More information about the llvm-commits mailing list