[llvm] [LAA] Add tests with non-power-of-2 store-load forward distance (PR #136710)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 28 15:48:56 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `premerge-monolithic-linux` running on `premerge-linux-1` while building `llvm` at step 7 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/153/builds/30167

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
/build/buildbot/premerge-monolithic-linux/build/bin/opt -passes='print<access-info>' -disable-output -mtriple=riscv64 -mattr=+v < /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll 2>&1 | /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll # RUN: at line 2
+ /build/buildbot/premerge-monolithic-linux/build/bin/opt '-passes=print<access-info>' -disable-output -mtriple=riscv64 -mattr=+v
+ /build/buildbot/premerge-monolithic-linux/build/bin/FileCheck /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll
/build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll:224:15: error: CHECK-NEXT: expected string not found in input
; CHECK-NEXT: %3 = load i32, ptr %arrayidx2, align 4 ->
              ^
<stdin>:89:10: note: scanning from here
 Forward:
         ^
<stdin>:90:2: note: possible intended match here
 %3 = load i32, ptr %gep.iv.4, align 4 -> 
 ^

Input file: <stdin>
Check file: /build/buildbot/premerge-monolithic-linux/llvm-project/llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance-non-power-of-2.ll

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           84: Printing analysis 'Loop Access Analysis' for function 'non_power_2_storeloadforward': 
           85:  loop: 
           86:  Report: unsafe dependent memory operations in loop. Use #pragma clang loop distribute(enable) to allow loop distribution to attempt to isolate the offending operations into a separate loop 
           87: Backward loop carried data dependence that prevents store-to-load forwarding. 
           88:  Dependences: 
           89:  Forward: 
next:224'0              X error: no match found
           90:  %3 = load i32, ptr %gep.iv.4, align 4 ->  
next:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
next:224'1      ?                                          possible intended match
           91:  store i32 %add3, ptr %gep.iv, align 4 
next:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           92:  
next:224'0     ~
           93:  BackwardVectorizableButPreventsForwarding: 
next:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           94:  %1 = load i32, ptr %gep.iv.sub.3, align 4 ->  
next:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           95:  store i32 %add3, ptr %gep.iv, align 4 
next:224'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            .
            .
...

```

</details>

https://github.com/llvm/llvm-project/pull/136710


More information about the llvm-commits mailing list