[llvm] [LV] Optimise code created by createElementCount (PR #216981)

via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 18 05:00:52 PDT 2026


github-actions[bot] wrote:

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

* 180781 tests passed
* 3698 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.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,interleaved-access -mattr=+sve -S -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.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/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/opt -passes=loop-vectorize,interleaved-access -mattr=+sve -S -o - /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.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/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll:23:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[TMP3:%.*]] = shl nuw i64 [[TMP0]], 2
# |               ^
# | <stdin>:15:11: note: scanning from here
# | vector.ph: ; preds = %entry
# |           ^
# | <stdin>:15:11: note: with "TMP0" equal to "%0"
# | vector.ph: ; preds = %entry
# |           ^
# | <stdin>:15:11: note: pattern attempts to capture variables: "TMP3"
# | vector.ph: ; preds = %entry
# |           ^
# | <stdin>:40:8: note: possible intended match here
# |  %index.next = add nuw i64 %index, %1
# |        ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           10:  %0 = call i64 @llvm.vscale.i64() 
# |           11:  %1 = shl nuw i64 %0, 2 
# |           12:  %min.iters.check = icmp ult i64 1024, %1 
# |           13:  br i1 %min.iters.check, label %scalar.ph, label %vector.ph 
# |           14:  
# |           15: vector.ph: ; preds = %entry 
# | next:23'0              {                    search range start (exclusive)
# | next:23'1                                   error: no match found in search range
# | next:23'2                                   with "TMP0" equal to "%0"
# | next:23'3                                   pattern attempts to capture variables: "TMP3"
# |           16:  %n.mod.vf = urem i64 1024, %1 
# |           17:  %n.vec = sub i64 1024, %n.mod.vf 
# |           18:  br label %vector.body 
# |           19:  
# |           20: vector.body: ; preds = %vector.body, %vector.ph 
# |            .
# |            .
# |            .
# |           35:  %13 = getelementptr inbounds %struct.xyzt, ptr %dst, i64 %index 
# |           36:  %14 = sub nsw <vscale x 4 x i32> %4, %9 
# |           37:  %15 = shl <vscale x 4 x i32> %5, %10 
# |           38:  %16 = ashr <vscale x 4 x i32> %6, %11 
# |           39:  call void @llvm.aarch64.sve.st4.nxv4i32.p0(<vscale x 4 x i32> %12, <vscale x 4 x i32> %14, <vscale x 4 x i32> %15, <vscale x 4 x i32> %16, <vscale x 4 x i1> splat (i1 true), ptr %13) 
# |           40:  %index.next = add nuw i64 %index, %1 
# | next:23'4            ?                                possible intended match
# |           41:  %17 = icmp eq i64 %index.next, %n.vec 
# |           42:  br i1 %17, label %middle.block, label %vector.body, !llvm.loop !0 
# |           43:  
# |           44: middle.block: ; preds = %vector.body 
# |           45:  %cmp.n = icmp eq i64 1024, %n.vec 
# |            .
# |            .
# |            .
# |          108: attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } 
# |          109:  
# |          110: !0 = distinct !{!0, !1, !2} 
# |          111: !1 = !{!"llvm.loop.isvectorized", i32 1} 
# |          112: !2 = !{!"llvm.loop.unroll.runtime.disable"} 
# |          113: !3 = distinct !{!3, !2, !1} 
# | next:23'5                                 } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# 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/216981


More information about the llvm-commits mailing list