[llvm] [BasicAA] Cancel common scalable GEP offsets (PR #218195)

via llvm-commits llvm-commits at lists.llvm.org
Sun Aug 23 00:04:10 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 181145 tests passed
* 3714 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.Transforms/GVN/vscale.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/GVN/vscale.ll -passes=gvn,dce | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefixes=CHECK,MDEP /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/GVN/vscale.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=gvn,dce
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefixes=CHECK,MDEP /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/GVN/vscale.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/GVN/vscale.ll:88:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[GEP2:%.*]] = getelementptr <vscale x 4 x float>, ptr [[P]], i64 1, i64 0
# |               ^
# | <stdin>:44:39: note: scanning from here
# |  %load1 = load i32, ptr %gep1, align 4
# |                                       ^
# | <stdin>:44:39: note: with "P" equal to "%p"
# |  %load1 = load i32, ptr %gep1, align 4
# |                                       ^
# | <stdin>:44:39: note: pattern attempts to capture variables: "GEP2"
# |  %load1 = load i32, ptr %gep1, align 4
# |                                       ^
# | <stdin>:49:1: note: possible intended match here
# | define <vscale x 4 x i32> @load_clobber_load_fence(ptr %p) {
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/GVN/vscale.ll:281:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[T:%.*]] = load i32, ptr [[GEP1]], align 4
# |               ^
# | <stdin>:142:9: note: scanning from here
# | if.then: ; preds = %entry
# |         ^
# | <stdin>:142:9: note: with "GEP1" equal to "%gep1"
# | if.then: ; preds = %entry
# |         ^
# | <stdin>:142:9: note: pattern attempts to capture variables: "T"
# | if.then: ; preds = %entry
# |         ^
# | <stdin>:143:2: note: possible intended match here
# |  store i32 0, ptr %q, align 4
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/GVN/vscale.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |            39:  ret i32 %add 
# |            40: } 
# |            41:  
# |            42: define i32 @load_clobber_load_gep3(ptr %p) { 
# |            43:  %gep1 = getelementptr <vscale x 4 x i32>, ptr %p, i64 1, i64 0 
# |            44:  %load1 = load i32, ptr %gep1, align 4 
# | next:88'0                                           {   search range start (exclusive)
# | next:88'1                                               error: no match found in search range
# | next:88'2                                               with "P" equal to "%p"
# | next:88'3                                               pattern attempts to capture variables: "GEP2"
# |            45:  %add = add i32 %load1, %load1 
# |            46:  ret i32 %add 
# |            47: } 
# |            48:  
# |            49: define <vscale x 4 x i32> @load_clobber_load_fence(ptr %p) { 
# | next:88'4      ?                                                              possible intended match
# | next:88'5                                                         }           search range end (exclusive)
# |            50:  %load1 = load <vscale x 4 x i32>, ptr %p, align 16 
# |            51:  call void asm "", "~{memory}"() 
# |            52:  %load2 = load <vscale x 4 x i32>, ptr %p, align 16 
# |            53:  %sub = sub <vscale x 4 x i32> %load1, %load2 
# |            54:  ret <vscale x 4 x i32> %sub 
# |             .
# |             .
# |             .
# |           137:  store i32 0, ptr %gep1, align 4 
# |           138:  %gep2 = getelementptr <vscale x 4 x i32>, ptr %p, i64 1, i64 0 
# |           139:  store i32 1, ptr %gep2, align 4 
# |           140:  br i1 %c, label %if.else, label %if.then 
# |           141:  
# |           142: if.then: ; preds = %entry 
# | next:281'0            {                    search range start (exclusive)
# | next:281'1                                 error: no match found in search range
# | next:281'2                                 with "GEP1" equal to "%gep1"
# | next:281'3                                 pattern attempts to capture variables: "T"
# |           143:  store i32 0, ptr %q, align 4 
# | next:281'4      ?                              possible intended match
# |           144:  ret void 
# |           145:  
# |           146: if.else: ; preds = %entry 
# |           147:  ret void 
# |           148: } 
# |           149:  
# |           150: define void @redundant_load_elimination_zero_index(i1 %c, ptr %p, ptr %q) { 
# | next:281'5                                                        }                          search range end (exclusive)
# |           151: entry: 
# |           152:  %gep1 = getelementptr <vscale x 4 x i32>, ptr %p, i64 0, i64 1 
# |           153:  store i32 0, ptr %gep1, align 4 
# |           154:  store i32 1, ptr %p, align 4 
# |           155:  br i1 %c, label %if.else, label %if.then 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/NewGVN/vscale.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/NewGVN/vscale.ll -passes=newgvn,dce | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/NewGVN/vscale.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -S -passes=newgvn,dce
# 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/Transforms/NewGVN/vscale.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/NewGVN/vscale.ll:285:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[T:%.*]] = load i32, ptr [[GEP1]], align 4
# |               ^
# | <stdin>:150:9: note: scanning from here
# | if.then: ; preds = %entry
# |         ^
# | <stdin>:150:9: note: with "GEP1" equal to "%gep1"
# | if.then: ; preds = %entry
# |         ^
# | <stdin>:150:9: note: pattern attempts to capture variables: "T"
# | if.then: ; preds = %entry
# |         ^
# | <stdin>:151:2: note: possible intended match here
# |  store i32 0, ptr %q, align 4
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/NewGVN/vscale.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           145:  store i32 0, ptr %gep1, align 4 
# |           146:  %gep2 = getelementptr <vscale x 4 x i32>, ptr %p, i64 1, i64 0 
# |           147:  store i32 1, ptr %gep2, align 4 
# |           148:  br i1 %c, label %if.else, label %if.then 
# |           149:  
# |           150: if.then: ; preds = %entry 
# | next:285'0            {                    search range start (exclusive)
# | next:285'1                                 error: no match found in search range
# | next:285'2                                 with "GEP1" equal to "%gep1"
# | next:285'3                                 pattern attempts to capture variables: "T"
# |           151:  store i32 0, ptr %q, align 4 
# | next:285'4      ?                              possible intended match
# |           152:  ret void 
# |           153:  
# |           154: if.else: ; preds = %entry 
# |           155:  ret void 
# |           156: } 
# |           157:  
# |           158: define void @redundant_load_elimination_zero_index(i1 %c, ptr %p, ptr %q) { 
# | next:285'5                                                        }                          search range end (exclusive)
# |           159: entry: 
# |           160:  %gep1 = getelementptr <vscale x 4 x i32>, ptr %p, i64 0, i64 1 
# |           161:  store i32 0, ptr %gep1, align 4 
# |           162:  store i32 1, ptr %p, align 4 
# |           163:  br i1 %c, label %if.else, label %if.then 
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# 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/218195


More information about the llvm-commits mailing list