[llvm] Revert "Revert "[AA] Improve precision for monotonic atomic load/store operations"" (PR #195008)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 29 23:25:48 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 173469 tests passed
* 3281 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.Analysis/BasicAA/atomics.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=aa-eval -print-all-alias-modref-info -disable-output 2>&1 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/BasicAA/atomics.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/BasicAA/atomics.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=aa-eval -print-all-alias-modref-info -disable-output /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/BasicAA/atomics.ll
# 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/Analysis/BasicAA/atomics.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/BasicAA/atomics.ll:11:10: error: CHECK: expected string not found in input
# | ; CHECK: Both ModRef: Ptr: i32* %a <-> %3 = load atomic i32, ptr %x monotonic, align 4
# | ^
# | <stdin>:6:94: note: scanning from here
# | Both ModRef: Ptr: i32* %x <-> %2 = cmpxchg ptr %x, i32 0, i32 1 monotonic monotonic, align 4
# | ^
# | <stdin>:8:2: note: possible intended match here
# | Both ModRef: Ptr: i32* %x <-> %3 = load atomic i32, ptr %x monotonic, align 4
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Analysis/BasicAA/atomics.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: Function: alloca_no_escape: 2 pointers, 14 call sites
# | 2: NoAlias: i32* %a, i32* %x
# | 3: NoModRef: Ptr: i32* %a <-> %1 = atomicrmw add ptr %x, i32 1 monotonic, align 4
# | 4: Both ModRef: Ptr: i32* %x <-> %1 = atomicrmw add ptr %x, i32 1 monotonic, align 4
# | 5: NoModRef: Ptr: i32* %a <-> %2 = cmpxchg ptr %x, i32 0, i32 1 monotonic monotonic, align 4
# | 6: Both ModRef: Ptr: i32* %x <-> %2 = cmpxchg ptr %x, i32 0, i32 1 monotonic monotonic, align 4
# | check:11'0 X error: no match found
# | 7: NoModRef: Ptr: i32* %a <-> %3 = load atomic i32, ptr %x monotonic, align 4
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 8: Both ModRef: Ptr: i32* %x <-> %3 = load atomic i32, ptr %x monotonic, align 4
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:11'1 ? possible intended match
# | 9: NoModRef: Ptr: i32* %a <-> store atomic i32 0, ptr %x monotonic, align 4
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 10: Both ModRef: Ptr: i32* %x <-> store atomic i32 0, ptr %x monotonic, align 4
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 11: Both ModRef: Ptr: i32* %a <-> fence release
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 12: Both ModRef: Ptr: i32* %x <-> fence release
# | check:11'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 13: Both ModRef: Ptr: i32* %a <-> %4 = atomicrmw add ptr %x, i32 1 acq_rel, align 4
# | check:11'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/195008
More information about the llvm-commits
mailing list