[llvm] [AArch64][SVE] Use loop.dependence.war.mask in vector.memcheck (PR #175943)

via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 10 09:08:07 PST 2026


github-actions[bot] wrote:

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

* 169488 tests passed
* 3046 tests skipped
* 6 tests failed

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

### LLVM
<details>
<summary>LLVM.Transforms/LoopVectorize/RISCV/fminimumnum.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt --passes=loop-vectorize --mtriple=riscv64 -mattr="+v,+zvfh" -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt --passes=loop-vectorize --mtriple=riscv64 -mattr=+v,+zvfh -S
# 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/LoopVectorize/RISCV/fminimumnum.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll:19:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
# |               ^
# | <stdin>:19:2: note: 'next' match was here
# |  %3 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:17:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:18:1: note: non-matching line after previous match is here
# |  %2 = sub i64 %output1, %input12
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll:164:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
# |               ^
# | <stdin>:90:2: note: 'next' match was here
# |  %3 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:88:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:89:1: note: non-matching line after previous match is here
# |  %2 = sub i64 %output1, %input12
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll:309:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
# |               ^
# | <stdin>:161:2: note: 'next' match was here
# |  %3 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:159:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:160:1: note: non-matching line after previous match is here
# |  %2 = sub i64 %output1, %input12
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll:454:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
# |               ^
# | <stdin>:232:2: note: 'next' match was here
# |  %3 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:230:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:231:1: note: non-matching line after previous match is here
# |  %2 = sub i64 %output1, %input12
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll:595:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
# |               ^
# | <stdin>:299:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:297:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:298:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %output1, %input12
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll:728:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: [[TMP15:%.*]] = call i64 @llvm.vscale.i64()
# |               ^
# | <stdin>:364:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:362:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:363:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %output1, %input12
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          14:  %min.iters.check = icmp ult i64 4096, %umax 
# |          15:  br i1 %min.iters.check, label %scalar.ph, label %vector.memcheck 
# |          16:  
# |          17: vector.memcheck: ; preds = %entry 
# |          18:  %2 = sub i64 %output1, %input12 
# |          19:  %3 = call i64 @llvm.vscale.i64() 
# | next:19       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          20:  %4 = mul nuw i64 %3, 4 
# |          21:  %5 = mul i64 %4, 4 
# |          22:  %diff.check = icmp ult i64 %2, %5 
# |          23:  %6 = sub i64 %output1, %input23 
# |          24:  %7 = mul i64 %4, 4 
# |           .
# |           .
# |           .
# |          85:  %min.iters.check = icmp ult i64 4096, %umax 
# |          86:  br i1 %min.iters.check, label %scalar.ph, label %vector.memcheck 
# |          87:  
# |          88: vector.memcheck: ; preds = %entry 
# |          89:  %2 = sub i64 %output1, %input12 
# |          90:  %3 = call i64 @llvm.vscale.i64() 
# | next:164      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          91:  %4 = mul nuw i64 %3, 4 
# |          92:  %5 = mul i64 %4, 4 
# |          93:  %diff.check = icmp ult i64 %2, %5 
# |          94:  %6 = sub i64 %output1, %input23 
# |          95:  %7 = mul i64 %4, 4 
# |           .
# |           .
# |           .
# |         156:  %min.iters.check = icmp ult i64 4096, %umax 
# |         157:  br i1 %min.iters.check, label %scalar.ph, label %vector.memcheck 
# |         158:  
# |         159: vector.memcheck: ; preds = %entry 
# |         160:  %2 = sub i64 %output1, %input12 
# |         161:  %3 = call i64 @llvm.vscale.i64() 
# | next:309      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         162:  %4 = mul nuw i64 %3, 2 
# |         163:  %5 = mul i64 %4, 8 
# |         164:  %diff.check = icmp ult i64 %2, %5 
# |         165:  %6 = sub i64 %output1, %input23 
# |         166:  %7 = mul i64 %4, 8 
# |           .
# |           .
# |           .
# |         227:  %min.iters.check = icmp ult i64 4096, %umax 
# |         228:  br i1 %min.iters.check, label %scalar.ph, label %vector.memcheck 
# |         229:  
# |         230: vector.memcheck: ; preds = %entry 
# |         231:  %2 = sub i64 %output1, %input12 
# |         232:  %3 = call i64 @llvm.vscale.i64() 
# | next:454      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         233:  %4 = mul nuw i64 %3, 2 
# |         234:  %5 = mul i64 %4, 8 
# |         235:  %diff.check = icmp ult i64 %2, %5 
# |         236:  %6 = sub i64 %output1, %input23 
# |         237:  %7 = mul i64 %4, 8 
# |           .
# |           .
# |           .
# |         294:  %output1 = ptrtoint ptr %output to i64 
# |         295:  br label %vector.memcheck 
# |         296:  
# |         297: vector.memcheck: ; preds = %entry 
# |         298:  %0 = sub i64 %output1, %input12 
# |         299:  %1 = call i64 @llvm.vscale.i64() 
# | next:595      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         300:  %2 = mul nuw i64 %1, 8 
# |         301:  %3 = mul i64 %2, 2 
# |         302:  %diff.check = icmp ult i64 %0, %3 
# |         303:  %4 = sub i64 %output1, %input23 
# |         304:  %5 = mul i64 %2, 2 
# |           .
# |           .
# |           .
# |         359:  %output1 = ptrtoint ptr %output to i64 
# |         360:  br label %vector.memcheck 
# |         361:  
# |         362: vector.memcheck: ; preds = %entry 
# |         363:  %0 = sub i64 %output1, %input12 
# |         364:  %1 = call i64 @llvm.vscale.i64() 
# | next:728      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         365:  %2 = mul nuw i64 %1, 8 
# |         366:  %3 = mul i64 %2, 2 
# |         367:  %diff.check = icmp ult i64 %0, %3 
# |         368:  %4 = sub i64 %output1, %input23 
# |         369:  %5 = mul i64 %2, 2 
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 8
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -mtriple=riscv64 -mattr=+v -S < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll  | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix=RV64 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -mtriple=riscv64 -mattr=+v -S
# .---command stderr------------
# | remark: <unknown>:0:0: Scalable vectorization is explicitly disabled
# `-----------------------------
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefix=RV64 /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll:200:14: error: RV64-NEXT: is not on the line after the previous match
# | ; RV64-NEXT: [[TMP11:%.*]] = call i64 @llvm.vscale.i64()
# |              ^
# | <stdin>:74:2: note: 'next' match was here
# |  %9 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:72:17: note: previous match ended here
# | vector.memcheck: ; preds = %vector.scevcheck
# |                 ^
# | <stdin>:73:1: note: non-matching line after previous match is here
# |  %8 = sub i64 %B1, %A2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll:451:14: error: RV64-NEXT: is not on the line after the previous match
# | ; RV64-NEXT: [[TMP11:%.*]] = call i64 @llvm.vscale.i64()
# |              ^
# | <stdin>:168:2: note: 'next' match was here
# |  %9 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:166:17: note: previous match ended here
# | vector.memcheck: ; preds = %vector.scevcheck
# |                 ^
# | <stdin>:167:1: note: non-matching line after previous match is here
# |  %8 = sub i64 %B1, %A2
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |          69:  %7 = or i1 %5, %6 
# |          70:  br i1 %7, label %scalar.ph, label %vector.memcheck 
# |          71:  
# |          72: vector.memcheck: ; preds = %vector.scevcheck 
# |          73:  %8 = sub i64 %B1, %A2 
# |          74:  %9 = call i64 @llvm.vscale.i64() 
# | next:200      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          75:  %10 = mul nuw i64 %9, 4 
# |          76:  %11 = mul i64 %10, 4 
# |          77:  %diff.check = icmp ult i64 %8, %11 
# |          78:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          79:  
# |           .
# |           .
# |           .
# |         163:  %7 = or i1 %5, %6 
# |         164:  br i1 %7, label %scalar.ph, label %vector.memcheck 
# |         165:  
# |         166: vector.memcheck: ; preds = %vector.scevcheck 
# |         167:  %8 = sub i64 %B1, %A2 
# |         168:  %9 = call i64 @llvm.vscale.i64() 
# | next:451      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         169:  %10 = mul nuw i64 %9, 4 
# |         170:  %11 = mul i64 %10, 4 
# |         171:  %diff.check = icmp ult i64 %8, %11 
# |         172:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |         173:  
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/RISCV/strided-accesses.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll -passes=loop-vectorize -mtriple=riscv64 -mattr=+v -S | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck --check-prefixes=COMMON,CHECK,NOSTRIDED /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -mtriple=riscv64 -mattr=+v -S
# 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=COMMON,CHECK,NOSTRIDED /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll:614:19: error: NOSTRIDED-NEXT: is not on the line after the previous match
# | ; NOSTRIDED-NEXT: [[TMP3:%.*]] = call i64 @llvm.vscale.i64()
# |                   ^
# | <stdin>:226:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:224:17: note: previous match ended here
# | vector.memcheck: ; preds = %vector.scevcheck
# |                 ^
# | <stdin>:225:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %p21, %p3
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |           .
# |           .
# |           .
# |         221:  %ident.check = icmp ne i64 %stride, 1 
# |         222:  br i1 %ident.check, label %scalar.ph, label %vector.memcheck 
# |         223:  
# |         224: vector.memcheck: ; preds = %vector.scevcheck 
# |         225:  %0 = sub i64 %p21, %p3 
# |         226:  %1 = call i64 @llvm.vscale.i64() 
# | next:614      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |         227:  %2 = mul nuw i64 %1, 4 
# |         228:  %3 = mul i64 %2, 4 
# |         229:  %diff.check = icmp ult i64 %0, %3 
# |         230:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |         231:  
# |           .
# |           .
# |           .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize  -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue  -mtriple=riscv64 -mattr=+v -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll --check-prefix=IF-EVL
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue -mtriple=riscv64 -mattr=+v -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.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/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll --check-prefix=IF-EVL
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:19:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:14:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:12:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:13:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:134:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:66:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:64:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:65:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:249:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:118:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:116:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:117:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:364:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:170:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:168:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:169:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:479:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:222:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:220:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:221:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:594:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:274:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:272:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:273:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:709:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:326:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:324:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:325:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:824:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:378:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:376:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:377:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:939:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:430:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:428:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:429:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1054:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:482:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:480:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:481:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1169:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:534:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:532:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:533:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1284:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:586:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:584:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:585:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1399:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:638:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:636:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:637:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1516:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:690:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:688:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:689:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1633:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:743:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:741:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:742:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1750:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:796:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:794:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:795:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:1867:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:849:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:847:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:848:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll:2037:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP0:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:921:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:919:17: note: previous match ended here
# | vector.memcheck: ; preds = %loop.preheader
# |                 ^
# | <stdin>:920:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %b1, %a2
# | ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |            9:  %b1 = ptrtoint ptr %b to i64 
# |           10:  br label %vector.memcheck 
# |           11:  
# |           12: vector.memcheck: ; preds = %loop.preheader 
# |           13:  %0 = sub i64 %b1, %a2 
# |           14:  %1 = call i64 @llvm.vscale.i64() 
# | next:19        !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |           15:  %2 = mul nuw i64 %1, 16 
# |           16:  %diff.check = icmp ult i64 %0, %2 
# |           17:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |           18:  
# |           19: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |           61:  %b1 = ptrtoint ptr %b to i64 
# |           62:  br label %vector.memcheck 
# |           63:  
# |           64: vector.memcheck: ; preds = %loop.preheader 
# |           65:  %0 = sub i64 %b1, %a2 
# |           66:  %1 = call i64 @llvm.vscale.i64() 
# | next:134       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |           67:  %2 = mul nuw i64 %1, 16 
# |           68:  %diff.check = icmp ult i64 %0, %2 
# |           69:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |           70:  
# |           71: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          113:  %b1 = ptrtoint ptr %b to i64 
# |          114:  br label %vector.memcheck 
# |          115:  
# |          116: vector.memcheck: ; preds = %loop.preheader 
# |          117:  %0 = sub i64 %b1, %a2 
# |          118:  %1 = call i64 @llvm.vscale.i64() 
# | next:249       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          119:  %2 = mul nuw i64 %1, 16 
# |          120:  %diff.check = icmp ult i64 %0, %2 
# |          121:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          122:  
# |          123: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          165:  %b1 = ptrtoint ptr %b to i64 
# |          166:  br label %vector.memcheck 
# |          167:  
# |          168: vector.memcheck: ; preds = %loop.preheader 
# |          169:  %0 = sub i64 %b1, %a2 
# |          170:  %1 = call i64 @llvm.vscale.i64() 
# | next:364       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          171:  %2 = mul nuw i64 %1, 16 
# |          172:  %diff.check = icmp ult i64 %0, %2 
# |          173:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          174:  
# |          175: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          217:  %b1 = ptrtoint ptr %b to i64 
# |          218:  br label %vector.memcheck 
# |          219:  
# |          220: vector.memcheck: ; preds = %loop.preheader 
# |          221:  %0 = sub i64 %b1, %a2 
# |          222:  %1 = call i64 @llvm.vscale.i64() 
# | next:479       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          223:  %2 = mul nuw i64 %1, 16 
# |          224:  %diff.check = icmp ult i64 %0, %2 
# |          225:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          226:  
# |          227: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          269:  %b1 = ptrtoint ptr %b to i64 
# |          270:  br label %vector.memcheck 
# |          271:  
# |          272: vector.memcheck: ; preds = %loop.preheader 
# |          273:  %0 = sub i64 %b1, %a2 
# |          274:  %1 = call i64 @llvm.vscale.i64() 
# | next:594       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          275:  %2 = mul nuw i64 %1, 16 
# |          276:  %diff.check = icmp ult i64 %0, %2 
# |          277:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          278:  
# |          279: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          321:  %b1 = ptrtoint ptr %b to i64 
# |          322:  br label %vector.memcheck 
# |          323:  
# |          324: vector.memcheck: ; preds = %loop.preheader 
# |          325:  %0 = sub i64 %b1, %a2 
# |          326:  %1 = call i64 @llvm.vscale.i64() 
# | next:709       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          327:  %2 = mul nuw i64 %1, 16 
# |          328:  %diff.check = icmp ult i64 %0, %2 
# |          329:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          330:  
# |          331: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          373:  %b1 = ptrtoint ptr %b to i64 
# |          374:  br label %vector.memcheck 
# |          375:  
# |          376: vector.memcheck: ; preds = %loop.preheader 
# |          377:  %0 = sub i64 %b1, %a2 
# |          378:  %1 = call i64 @llvm.vscale.i64() 
# | next:824       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          379:  %2 = mul nuw i64 %1, 16 
# |          380:  %diff.check = icmp ult i64 %0, %2 
# |          381:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          382:  
# |          383: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          425:  %b1 = ptrtoint ptr %b to i64 
# |          426:  br label %vector.memcheck 
# |          427:  
# |          428: vector.memcheck: ; preds = %loop.preheader 
# |          429:  %0 = sub i64 %b1, %a2 
# |          430:  %1 = call i64 @llvm.vscale.i64() 
# | next:939       !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          431:  %2 = mul nuw i64 %1, 16 
# |          432:  %diff.check = icmp ult i64 %0, %2 
# |          433:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          434:  
# |          435: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          477:  %b1 = ptrtoint ptr %b to i64 
# |          478:  br label %vector.memcheck 
# |          479:  
# |          480: vector.memcheck: ; preds = %loop.preheader 
# |          481:  %0 = sub i64 %b1, %a2 
# |          482:  %1 = call i64 @llvm.vscale.i64() 
# | next:1054      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          483:  %2 = mul nuw i64 %1, 16 
# |          484:  %diff.check = icmp ult i64 %0, %2 
# |          485:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          486:  
# |          487: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          529:  %b1 = ptrtoint ptr %b to i64 
# |          530:  br label %vector.memcheck 
# |          531:  
# |          532: vector.memcheck: ; preds = %loop.preheader 
# |          533:  %0 = sub i64 %b1, %a2 
# |          534:  %1 = call i64 @llvm.vscale.i64() 
# | next:1169      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          535:  %2 = mul nuw i64 %1, 16 
# |          536:  %diff.check = icmp ult i64 %0, %2 
# |          537:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          538:  
# |          539: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          581:  %b1 = ptrtoint ptr %b to i64 
# |          582:  br label %vector.memcheck 
# |          583:  
# |          584: vector.memcheck: ; preds = %loop.preheader 
# |          585:  %0 = sub i64 %b1, %a2 
# |          586:  %1 = call i64 @llvm.vscale.i64() 
# | next:1284      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          587:  %2 = mul nuw i64 %1, 16 
# |          588:  %diff.check = icmp ult i64 %0, %2 
# |          589:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          590:  
# |          591: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          633:  %b1 = ptrtoint ptr %b to i64 
# |          634:  br label %vector.memcheck 
# |          635:  
# |          636: vector.memcheck: ; preds = %loop.preheader 
# |          637:  %0 = sub i64 %b1, %a2 
# |          638:  %1 = call i64 @llvm.vscale.i64() 
# | next:1399      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          639:  %2 = mul nuw i64 %1, 16 
# |          640:  %diff.check = icmp ult i64 %0, %2 
# |          641:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          642:  
# |          643: vector.ph: ; preds = %vector.memcheck 
# |            .
# |            .
# |            .
# |          685:  %b1 = ptrtoint ptr %b to i64 
# |          686:  br label %vector.memcheck 
# |          687:  
# |          688: vector.memcheck: ; preds = %loop.preheader 
# |          689:  %0 = sub i64 %b1, %a2 
# |          690:  %1 = call i64 @llvm.vscale.i64() 
# | next:1516      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          691:  %2 = mul nuw i64 %1, 4 
# |          692:  %3 = mul i64 %2, 4 
# |          693:  %diff.check = icmp ult i64 %0, %3 
# |          694:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          695:  
# |            .
# |            .
# |            .
# |          738:  %b1 = ptrtoint ptr %b to i64 
# |          739:  br label %vector.memcheck 
# |          740:  
# |          741: vector.memcheck: ; preds = %loop.preheader 
# |          742:  %0 = sub i64 %b1, %a2 
# |          743:  %1 = call i64 @llvm.vscale.i64() 
# | next:1633      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          744:  %2 = mul nuw i64 %1, 4 
# |          745:  %3 = mul i64 %2, 4 
# |          746:  %diff.check = icmp ult i64 %0, %3 
# |          747:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          748:  
# |            .
# |            .
# |            .
# |          791:  %b1 = ptrtoint ptr %b to i64 
# |          792:  br label %vector.memcheck 
# |          793:  
# |          794: vector.memcheck: ; preds = %loop.preheader 
# |          795:  %0 = sub i64 %b1, %a2 
# |          796:  %1 = call i64 @llvm.vscale.i64() 
# | next:1750      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          797:  %2 = mul nuw i64 %1, 4 
# |          798:  %3 = mul i64 %2, 4 
# |          799:  %diff.check = icmp ult i64 %0, %3 
# |          800:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          801:  
# |            .
# |            .
# |            .
# |          844:  %b1 = ptrtoint ptr %b to i64 
# |          845:  br label %vector.memcheck 
# |          846:  
# |          847: vector.memcheck: ; preds = %loop.preheader 
# |          848:  %0 = sub i64 %b1, %a2 
# |          849:  %1 = call i64 @llvm.vscale.i64() 
# | next:1867      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          850:  %2 = mul nuw i64 %1, 4 
# |          851:  %3 = mul i64 %2, 4 
# |          852:  %diff.check = icmp ult i64 %0, %3 
# |          853:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          854:  
# |            .
# |            .
# |            .
# |          916:  %b1 = ptrtoint ptr %b to i64 
# |          917:  br label %vector.memcheck 
# |          918:  
# |          919: vector.memcheck: ; preds = %loop.preheader 
# |          920:  %0 = sub i64 %b1, %a2 
# |          921:  %1 = call i64 @llvm.vscale.i64() 
# | next:2037      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |          922:  %2 = mul nuw i64 %1, 4 
# |          923:  %3 = mul i64 %2, 4 
# |          924:  %diff.check = icmp ult i64 %0, %3 
# |          925:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |          926:  
# |            .
# |            .
# |            .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize  -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue  -mtriple=riscv64 -mattr=+v -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll --check-prefix=IF-EVL
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue -mtriple=riscv64 -mattr=+v -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.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/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll --check-prefix=IF-EVL
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:19:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:15:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:13:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:14:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:157:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:77:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:75:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:76:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:295:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:139:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:137:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:138:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:433:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:201:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:199:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:200:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:571:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:262:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:260:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:261:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:689:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:315:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:313:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:314:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:807:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:368:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:366:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:367:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:935:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:425:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:423:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:424:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:1063:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP4:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:482:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:480:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:481:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:1266:13: error: undefined variable: LOOP0
# | ; IF-EVL: [[LOOP0]] = distinct !{[[LOOP0]], [[META1:![0-9]+]], [[META2:![0-9]+]]}
# |             ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll:1266:36: error: undefined variable: LOOP0
# | ; IF-EVL: [[LOOP0]] = distinct !{[[LOOP0]], [[META1:![0-9]+]], [[META2:![0-9]+]]}
# |                                    ^
# | <stdin>:546:85: note: possible intended match here
# | ; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none)
# |                                                                                     ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |              10:  %a1 = ptrtoint ptr %a to i64 
# |              11:  br label %vector.memcheck 
# |              12:  
# |              13: vector.memcheck: ; preds = %entry 
# |              14:  %0 = sub i64 %a1, %b2 
# |              15:  %1 = call i64 @llvm.vscale.i64() 
# | next:19           !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |              16:  %2 = mul nuw i64 %1, 4 
# |              17:  %3 = mul i64 %2, 4 
# |              18:  %diff.check = icmp ult i64 %0, %3 
# |              19:  %4 = sub i64 %a1, %c3 
# |              20:  %5 = mul i64 %2, 4 
# |               .
# |               .
# |               .
# |              72:  %a1 = ptrtoint ptr %a to i64 
# |              73:  br label %vector.memcheck 
# |              74:  
# |              75: vector.memcheck: ; preds = %entry 
# |              76:  %0 = sub i64 %a1, %b2 
# |              77:  %1 = call i64 @llvm.vscale.i64() 
# | next:157          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |              78:  %2 = mul nuw i64 %1, 4 
# |              79:  %3 = mul i64 %2, 4 
# |              80:  %diff.check = icmp ult i64 %0, %3 
# |              81:  %4 = sub i64 %a1, %c3 
# |              82:  %5 = mul i64 %2, 4 
# |               .
# |               .
# |               .
# |             134:  %a1 = ptrtoint ptr %a to i64 
# |             135:  br label %vector.memcheck 
# |             136:  
# |             137: vector.memcheck: ; preds = %entry 
# |             138:  %0 = sub i64 %a1, %b2 
# |             139:  %1 = call i64 @llvm.vscale.i64() 
# | next:295          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             140:  %2 = mul nuw i64 %1, 4 
# |             141:  %3 = mul i64 %2, 4 
# |             142:  %diff.check = icmp ult i64 %0, %3 
# |             143:  %4 = sub i64 %a1, %c3 
# |             144:  %5 = mul i64 %2, 4 
# |               .
# |               .
# |               .
# |             196:  %a1 = ptrtoint ptr %a to i64 
# |             197:  br label %vector.memcheck 
# |             198:  
# |             199: vector.memcheck: ; preds = %entry 
# |             200:  %0 = sub i64 %a1, %b2 
# |             201:  %1 = call i64 @llvm.vscale.i64() 
# | next:433          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             202:  %2 = mul nuw i64 %1, 4 
# |             203:  %3 = mul i64 %2, 4 
# |             204:  %diff.check = icmp ult i64 %0, %3 
# |             205:  %4 = sub i64 %a1, %c3 
# |             206:  %5 = mul i64 %2, 4 
# |               .
# |               .
# |               .
# |             257:  %a1 = ptrtoint ptr %a to i64 
# |             258:  br label %vector.memcheck 
# |             259:  
# |             260: vector.memcheck: ; preds = %entry 
# |             261:  %0 = sub i64 %a1, %b2 
# |             262:  %1 = call i64 @llvm.vscale.i64() 
# | next:571          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             263:  %2 = mul nuw i64 %1, 4 
# |             264:  %3 = mul i64 %2, 4 
# |             265:  %diff.check = icmp ult i64 %0, %3 
# |             266:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             267:  
# |               .
# |               .
# |               .
# |             310:  %a1 = ptrtoint ptr %a to i64 
# |             311:  br label %vector.memcheck 
# |             312:  
# |             313: vector.memcheck: ; preds = %entry 
# |             314:  %0 = sub i64 %a1, %b2 
# |             315:  %1 = call i64 @llvm.vscale.i64() 
# | next:689          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             316:  %2 = mul nuw i64 %1, 4 
# |             317:  %3 = mul i64 %2, 4 
# |             318:  %diff.check = icmp ult i64 %0, %3 
# |             319:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             320:  
# |               .
# |               .
# |               .
# |             363:  %a1 = ptrtoint ptr %a to i64 
# |             364:  br label %vector.memcheck 
# |             365:  
# |             366: vector.memcheck: ; preds = %entry 
# |             367:  %0 = sub i64 %a1, %b2 
# |             368:  %1 = call i64 @llvm.vscale.i64() 
# | next:807          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             369:  %2 = mul nuw i64 %1, 4 
# |             370:  %3 = mul i64 %2, 4 
# |             371:  %diff.check = icmp ult i64 %0, %3 
# |             372:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             373:  
# |               .
# |               .
# |               .
# |             420:  %a1 = ptrtoint ptr %a to i64 
# |             421:  br label %vector.memcheck 
# |             422:  
# |             423: vector.memcheck: ; preds = %entry 
# |             424:  %0 = sub i64 %a1, %b2 
# |             425:  %1 = call i64 @llvm.vscale.i64() 
# | next:935          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             426:  %2 = mul nuw i64 %1, 4 
# |             427:  %3 = mul i64 %2, 4 
# |             428:  %diff.check = icmp ult i64 %0, %3 
# |             429:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             430:  
# |               .
# |               .
# |               .
# |             477:  %a1 = ptrtoint ptr %a to i64 
# |             478:  br label %vector.memcheck 
# |             479:  
# |             480: vector.memcheck: ; preds = %entry 
# |             481:  %0 = sub i64 %a1, %b2 
# |             482:  %1 = call i64 @llvm.vscale.i64() 
# | next:1063         !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             483:  %2 = mul nuw i64 %1, 4 
# |             484:  %3 = mul i64 %2, 4 
# |             485:  %diff.check = icmp ult i64 %0, %3 
# |             486:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             487:  
# |               .
# |               .
# |               .
# |             538:  %iv.next = add nuw nsw i64 %iv, 1 
# |             539:  %exitcond.not = icmp eq i64 %iv.next, %N 
# |             540:  br i1 %exitcond.not, label %exit, label %loop 
# |             541:  
# |             542: exit: ; preds = %loop 
# |             543:  ret void 
# | check:1266'0              X error: match failed for invalid pattern
# | check:1266'1                undefined variable: LOOP0
# | check:1266'2                undefined variable: LOOP0
# |             544: } 
# | check:1266'0     ~~
# |             545:  
# | check:1266'0     ~
# |             546: ; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) 
# | check:1266'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1266'3                                                                                         ?                           possible intended match
# |             547: declare i32 @llvm.smax.i32(i32, i32) #1 
# | check:1266'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             548:  
# | check:1266'0     ~
# |             549: ; Function Attrs: nocallback nocreateundeforpoison nofree nosync nounwind speculatable willreturn memory(none) 
# | check:1266'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             550: declare i32 @llvm.smin.i32(i32, i32) #1 
# | check:1266'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             551:  
# | check:1266'0     ~
# |               .
# |               .
# |               .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize  -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue  -mtriple=riscv64 -mattr=+v -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll --check-prefix=IF-EVL
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize -prefer-predicate-over-epilogue=predicate-else-scalar-epilogue -mtriple=riscv64 -mattr=+v -S /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.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/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll --check-prefix=IF-EVL
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll:603:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP5:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:279:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:277:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:278:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll:720:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP5:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:332:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:330:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:331:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll:837:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP5:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:385:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:383:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:384:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll:954:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP5:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:438:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:436:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:437:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll:1071:16: error: IF-EVL-NEXT: is not on the line after the previous match
# | ; IF-EVL-NEXT: [[TMP5:%.*]] = call i64 @llvm.vscale.i64()
# |                ^
# | <stdin>:491:2: note: 'next' match was here
# |  %1 = call i64 @llvm.vscale.i64()
# |  ^
# | <stdin>:489:17: note: previous match ended here
# | vector.memcheck: ; preds = %entry
# |                 ^
# | <stdin>:490:1: note: non-matching line after previous match is here
# |  %0 = sub i64 %a1, %b2
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll:1309:13: error: undefined variable: LOOP37
# | ; IF-EVL: [[LOOP37]] = distinct !{[[LOOP37]], [[META6]], [[META7]]}
# |             ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll:1309:37: error: undefined variable: LOOP37
# | ; IF-EVL: [[LOOP37]] = distinct !{[[LOOP37]], [[META6]], [[META7]]}
# |                                     ^
# | <stdin>:659:26: note: with "META6" equal to "!6"
# | !36 = distinct !{!36, !6}
# |                          ^
# | <stdin>:659:26: note: with "META7" equal to "!7"
# | !36 = distinct !{!36, !6}
# |                          ^
# | <stdin>:660:3: note: possible intended match here
# | !37 = distinct !{!37, !6, !7}
# |   ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |               .
# |               .
# |               .
# |             274:  %a1 = ptrtoint ptr %a to i64 
# |             275:  br label %vector.memcheck 
# |             276:  
# |             277: vector.memcheck: ; preds = %entry 
# |             278:  %0 = sub i64 %a1, %b2 
# |             279:  %1 = call i64 @llvm.vscale.i64() 
# | next:603          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             280:  %2 = mul nuw i64 %1, 4 
# |             281:  %3 = mul i64 %2, 4 
# |             282:  %diff.check = icmp ult i64 %0, %3 
# |             283:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             284:  
# |               .
# |               .
# |               .
# |             327:  %a1 = ptrtoint ptr %a to i64 
# |             328:  br label %vector.memcheck 
# |             329:  
# |             330: vector.memcheck: ; preds = %entry 
# |             331:  %0 = sub i64 %a1, %b2 
# |             332:  %1 = call i64 @llvm.vscale.i64() 
# | next:720          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             333:  %2 = mul nuw i64 %1, 4 
# |             334:  %3 = mul i64 %2, 4 
# |             335:  %diff.check = icmp ult i64 %0, %3 
# |             336:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             337:  
# |               .
# |               .
# |               .
# |             380:  %a1 = ptrtoint ptr %a to i64 
# |             381:  br label %vector.memcheck 
# |             382:  
# |             383: vector.memcheck: ; preds = %entry 
# |             384:  %0 = sub i64 %a1, %b2 
# |             385:  %1 = call i64 @llvm.vscale.i64() 
# | next:837          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             386:  %2 = mul nuw i64 %1, 4 
# |             387:  %3 = mul i64 %2, 4 
# |             388:  %diff.check = icmp ult i64 %0, %3 
# |             389:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             390:  
# |               .
# |               .
# |               .
# |             433:  %a1 = ptrtoint ptr %a to i64 
# |             434:  br label %vector.memcheck 
# |             435:  
# |             436: vector.memcheck: ; preds = %entry 
# |             437:  %0 = sub i64 %a1, %b2 
# |             438:  %1 = call i64 @llvm.vscale.i64() 
# | next:954          !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             439:  %2 = mul nuw i64 %1, 4 
# |             440:  %3 = mul i64 %2, 4 
# |             441:  %diff.check = icmp ult i64 %0, %3 
# |             442:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             443:  
# |               .
# |               .
# |               .
# |             486:  %a1 = ptrtoint ptr %a to i64 
# |             487:  br label %vector.memcheck 
# |             488:  
# |             489: vector.memcheck: ; preds = %entry 
# |             490:  %0 = sub i64 %a1, %b2 
# |             491:  %1 = call i64 @llvm.vscale.i64() 
# | next:1071         !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |             492:  %2 = mul nuw i64 %1, 2 
# |             493:  %3 = mul i64 %2, 8 
# |             494:  %diff.check = icmp ult i64 %0, %3 
# |             495:  br i1 %diff.check, label %scalar.ph, label %vector.ph 
# |             496:  
# |               .
# |               .
# |               .
# |             654: !31 = distinct !{!31, !32} 
# |             655: !32 = distinct !{!32, !"LVerDomain"} 
# |             656: !33 = !{!34} 
# |             657: !34 = distinct !{!34, !32} 
# |             658: !35 = distinct !{!35, !6, !7} 
# |             659: !36 = distinct !{!36, !6} 
# | check:1309'0                              X error: match failed for invalid pattern
# | check:1309'1                                undefined variable: LOOP37
# | check:1309'2                                undefined variable: LOOP37
# | check:1309'3                                with "META6" equal to "!6"
# | check:1309'4                                with "META7" equal to "!7"
# |             660: !37 = distinct !{!37, !6, !7} 
# | check:1309'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:1309'5       ?                            possible intended match
# |             661: !38 = distinct !{!38, !6} 
# | check:1309'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             662: !39 = distinct !{!39, !6, !7} 
# | check:1309'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             663: !40 = distinct !{!40, !6} 
# | check:1309'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             664: !41 = distinct !{!41, !6, !7} 
# | check:1309'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             665: !42 = distinct !{!42, !6} 
# | check:1309'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/175943


More information about the llvm-commits mailing list