Skip to content

Conversation

artagnon
Copy link
Contributor

Increase coverage of the routine fixScalarResumeValuesFromBypass in the case where the original scalar resume value is zero.

Increase coverage of the routine fixScalarResumeValuesFromBypass in the
case where the original scalar resume value is zero.

Co-authored-by: Florian Hahn <flo@fhahn.com>
@llvmbot
Copy link
Member

llvmbot commented Sep 24, 2025

@llvm/pr-subscribers-llvm-transforms

Author: Ramkumar Ramachandra (artagnon)

Changes

Increase coverage of the routine fixScalarResumeValuesFromBypass in the case where the original scalar resume value is zero.


Full diff: https://github.com/llvm/llvm-project/pull/160492.diff

1 Files Affected:

  • (added) llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll (+76)
diff --git a/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll b/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
new file mode 100644
index 0000000000000..f5e3b55c42a72
--- /dev/null
+++ b/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
@@ -0,0 +1,76 @@
+; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --check-globals none --version 6
+; RUN: opt -passes=loop-vectorize -S %s | FileCheck %s
+
+; This tests exercises the out-of-band fixing-up of scalar resume values.
+
+target triple = "aarch64"
+
+define void @epilogue_vectorization_fix_scalar_resume_values(ptr %dst, i64 %n) {
+; CHECK-LABEL: define void @epilogue_vectorization_fix_scalar_resume_values(
+; CHECK-SAME: ptr [[DST:%.*]], i64 [[N:%.*]]) {
+; CHECK-NEXT:  [[ITER_CHECK:.*]]:
+; CHECK-NEXT:    [[REM:%.*]] = urem i64 [[N]], 3
+; CHECK-NEXT:    br i1 true, label %[[VEC_EPILOG_SCALAR_PH:.*]], label %[[VECTOR_MAIN_LOOP_ITER_CHECK:.*]]
+; CHECK:       [[VECTOR_MAIN_LOOP_ITER_CHECK]]:
+; CHECK-NEXT:    br i1 true, label %[[VEC_EPILOG_PH:.*]], label %[[VECTOR_PH:.*]]
+; CHECK:       [[VECTOR_PH]]:
+; CHECK-NEXT:    [[N_MOD_VF:%.*]] = urem i64 [[REM]], 32
+; CHECK-NEXT:    [[N_VEC:%.*]] = sub i64 [[REM]], [[N_MOD_VF]]
+; CHECK-NEXT:    br label %[[VECTOR_BODY:.*]]
+; CHECK:       [[VECTOR_BODY]]:
+; CHECK-NEXT:    [[INDEX:%.*]] = phi i64 [ 0, %[[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], %[[VECTOR_BODY]] ]
+; CHECK-NEXT:    [[TMP0:%.*]] = getelementptr i8, ptr [[DST]], i64 [[INDEX]]
+; CHECK-NEXT:    [[TMP1:%.*]] = getelementptr i8, ptr [[TMP0]], i32 16
+; CHECK-NEXT:    store <16 x i8> zeroinitializer, ptr [[TMP0]], align 1
+; CHECK-NEXT:    store <16 x i8> zeroinitializer, ptr [[TMP1]], align 1
+; CHECK-NEXT:    [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 32
+; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
+; CHECK-NEXT:    br i1 [[TMP2]], label %[[MIDDLE_BLOCK:.*]], label %[[VECTOR_BODY]], !llvm.loop [[LOOP0:![0-9]+]]
+; CHECK:       [[MIDDLE_BLOCK]]:
+; CHECK-NEXT:    [[CMP_N:%.*]] = icmp eq i64 [[REM]], [[N_VEC]]
+; CHECK-NEXT:    br i1 [[CMP_N]], label %[[EXIT:.*]], label %[[VEC_EPILOG_ITER_CHECK:.*]]
+; CHECK:       [[VEC_EPILOG_ITER_CHECK]]:
+; CHECK-NEXT:    [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
+; CHECK-NEXT:    [[MIN_EPILOG_ITERS_CHECK:%.*]] = icmp ult i64 [[N_VEC_REMAINING]], 8
+; CHECK-NEXT:    br i1 [[MIN_EPILOG_ITERS_CHECK]], label %[[VEC_EPILOG_SCALAR_PH]], label %[[VEC_EPILOG_PH]], !prof [[PROF3:![0-9]+]]
+; CHECK:       [[VEC_EPILOG_PH]]:
+; CHECK-NEXT:    [[VEC_EPILOG_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], %[[VEC_EPILOG_ITER_CHECK]] ], [ 0, %[[VECTOR_MAIN_LOOP_ITER_CHECK]] ]
+; CHECK-NEXT:    br label %[[VEC_EPILOG_VECTOR_BODY:.*]]
+; CHECK:       [[VEC_EPILOG_VECTOR_BODY]]:
+; CHECK-NEXT:    [[INDEX1:%.*]] = phi i64 [ [[VEC_EPILOG_RESUME_VAL]], %[[VEC_EPILOG_PH]] ], [ [[INDEX_NEXT2:%.*]], %[[VEC_EPILOG_VECTOR_BODY]] ]
+; CHECK-NEXT:    [[TMP3:%.*]] = getelementptr i8, ptr [[DST]], i64 [[INDEX1]]
+; CHECK-NEXT:    store <8 x i8> zeroinitializer, ptr [[TMP3]], align 1
+; CHECK-NEXT:    [[INDEX_NEXT2]] = add nuw i64 [[INDEX1]], 8
+; CHECK-NEXT:    [[TMP4:%.*]] = icmp eq i64 [[INDEX_NEXT2]], 0
+; CHECK-NEXT:    br i1 [[TMP4]], label %[[VEC_EPILOG_MIDDLE_BLOCK:.*]], label %[[VEC_EPILOG_VECTOR_BODY]], !llvm.loop [[LOOP4:![0-9]+]]
+; CHECK:       [[VEC_EPILOG_MIDDLE_BLOCK]]:
+; CHECK-NEXT:    [[CMP_N3:%.*]] = icmp eq i64 [[REM]], 0
+; CHECK-NEXT:    br i1 [[CMP_N3]], label %[[EXIT]], label %[[VEC_EPILOG_SCALAR_PH]]
+; CHECK:       [[VEC_EPILOG_SCALAR_PH]]:
+; CHECK-NEXT:    [[BC_RESUME_VAL:%.*]] = phi i64 [ 0, %[[VEC_EPILOG_MIDDLE_BLOCK]] ], [ [[N_VEC]], %[[VEC_EPILOG_ITER_CHECK]] ], [ 0, %[[ITER_CHECK]] ]
+; CHECK-NEXT:    br label %[[LOOP:.*]]
+; CHECK:       [[LOOP]]:
+; CHECK-NEXT:    [[IV:%.*]] = phi i64 [ [[BC_RESUME_VAL]], %[[VEC_EPILOG_SCALAR_PH]] ], [ [[IV_NEXT:%.*]], %[[LOOP]] ]
+; CHECK-NEXT:    [[GEP_DST_IV:%.*]] = getelementptr i8, ptr [[DST]], i64 [[IV]]
+; CHECK-NEXT:    store i8 0, ptr [[GEP_DST_IV]], align 1
+; CHECK-NEXT:    [[IV_NEXT]] = add i64 [[IV]], 1
+; CHECK-NEXT:    [[EXIT_COND:%.*]] = icmp eq i64 [[IV_NEXT]], [[REM]]
+; CHECK-NEXT:    br i1 [[EXIT_COND]], label %[[EXIT]], label %[[LOOP]], !llvm.loop [[LOOP5:![0-9]+]]
+; CHECK:       [[EXIT]]:
+; CHECK-NEXT:    ret void
+;
+entry:
+  %rem = urem i64 %n, 3
+  br label %loop
+
+loop:
+  %iv = phi i64 [ 0, %entry ], [ %iv.next, %loop ]
+  %gep.dst.iv = getelementptr i8, ptr %dst, i64 %iv
+  store i8 0, ptr %gep.dst.iv, align 1
+  %iv.next = add i64 %iv, 1
+  %exit.cond = icmp eq i64 %iv.next, %rem
+  br i1 %exit.cond, label %exit, label %loop
+
+exit:
+  ret void
+}

Copy link
Contributor

@fhahn fhahn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks

@artagnon artagnon merged commit c1f8dbb into llvm:main Sep 25, 2025
11 checks passed
@artagnon artagnon deleted the lv-fix-scalar-resume-test branch September 25, 2025 10:39
@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 25, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-dev-x86-64 running on ml-opt-dev-x86-64-b2 while building llvm at step 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/b/ml-opt-dev-x86-64-b1/build/bin/opt -passes=loop-vectorize -S /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /b/ml-opt-dev-x86-64-b1/build/bin/FileCheck /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /b/ml-opt-dev-x86-64-b1/build/bin/opt -passes=loop-vectorize -S /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /b/ml-opt-dev-x86-64-b1/build/bin/FileCheck /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# |               ^
# | <stdin>:33:23: note: scanning from here
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "REM" equal to "%rem"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "N_VEC" equal to "%n.vec"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:38:19: note: possible intended match here
# |  %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# |                   ^
# | 
# | Input file: <stdin>
# | Check file: /b/ml-opt-dev-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           28:  
# |           29: middle.block: ; preds = %vector.body 
# |           30:  %cmp.n = icmp eq i64 %rem, %n.vec 
# |           31:  br i1 %cmp.n, label %exit, label %vec.epilog.iter.check 
# |           32:  
# |           33: vec.epilog.iter.check: ; preds = %middle.block 
# | next:33'0                           X~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:33'1                                                     with "REM" equal to "%rem"
# | next:33'2                                                     with "N_VEC" equal to "%n.vec"
# |           34:  %min.epilog.iters.check = icmp ult i64 %n.mod.vf, 8 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           35:  br i1 %min.epilog.iters.check, label %vec.epilog.scalar.ph, label %vec.epilog.ph, !prof !3 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           36:  
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 25, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-rel-x86-64 running on ml-opt-rel-x86-64-b1 while building llvm at step 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/b/ml-opt-rel-x86-64-b1/build/bin/opt -passes=loop-vectorize -S /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /b/ml-opt-rel-x86-64-b1/build/bin/FileCheck /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /b/ml-opt-rel-x86-64-b1/build/bin/opt -passes=loop-vectorize -S /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /b/ml-opt-rel-x86-64-b1/build/bin/FileCheck /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# |               ^
# | <stdin>:33:23: note: scanning from here
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "REM" equal to "%rem"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "N_VEC" equal to "%n.vec"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:38:19: note: possible intended match here
# |  %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# |                   ^
# | 
# | Input file: <stdin>
# | Check file: /b/ml-opt-rel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           28:  
# |           29: middle.block: ; preds = %vector.body 
# |           30:  %cmp.n = icmp eq i64 %rem, %n.vec 
# |           31:  br i1 %cmp.n, label %exit, label %vec.epilog.iter.check 
# |           32:  
# |           33: vec.epilog.iter.check: ; preds = %middle.block 
# | next:33'0                           X~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:33'1                                                     with "REM" equal to "%rem"
# | next:33'2                                                     with "N_VEC" equal to "%n.vec"
# |           34:  %min.epilog.iters.check = icmp ult i64 %n.mod.vf, 8 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           35:  br i1 %min.epilog.iters.check, label %vec.epilog.scalar.ph, label %vec.epilog.ph, !prof !3 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           36:  
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 25, 2025

LLVM Buildbot has detected a new failure on builder ml-opt-devrel-x86-64 running on ml-opt-devrel-x86-64-b2 while building llvm at step 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/b/ml-opt-devrel-x86-64-b1/build/bin/opt -passes=loop-vectorize -S /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /b/ml-opt-devrel-x86-64-b1/build/bin/FileCheck /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /b/ml-opt-devrel-x86-64-b1/build/bin/opt -passes=loop-vectorize -S /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /b/ml-opt-devrel-x86-64-b1/build/bin/FileCheck /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# |               ^
# | <stdin>:33:23: note: scanning from here
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "REM" equal to "%rem"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "N_VEC" equal to "%n.vec"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:38:19: note: possible intended match here
# |  %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# |                   ^
# | 
# | Input file: <stdin>
# | Check file: /b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           28:  
# |           29: middle.block: ; preds = %vector.body 
# |           30:  %cmp.n = icmp eq i64 %rem, %n.vec 
# |           31:  br i1 %cmp.n, label %exit, label %vec.epilog.iter.check 
# |           32:  
# |           33: vec.epilog.iter.check: ; preds = %middle.block 
# | next:33'0                           X~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:33'1                                                     with "REM" equal to "%rem"
# | next:33'2                                                     with "N_VEC" equal to "%n.vec"
# |           34:  %min.epilog.iters.check = icmp ult i64 %n.mod.vf, 8 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           35:  br i1 %min.epilog.iters.check, label %vec.epilog.scalar.ph, label %vec.epilog.ph, !prof !3 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           36:  
...

@artagnon
Copy link
Contributor Author

Ugh, my bad yet again! LV is moving so fast!

@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 25, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-aarch64-darwin running on doug-worker-5 while building llvm at step 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/Volumes/ExternalSSD/buildbot-root/aarch64-darwin/build/bin/opt -passes=loop-vectorize -S /Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /Volumes/ExternalSSD/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /Volumes/ExternalSSD/buildbot-root/aarch64-darwin/build/bin/opt -passes=loop-vectorize -S /Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# note: command had no output on stdout or stderr
# executed command: /Volumes/ExternalSSD/buildbot-root/aarch64-darwin/build/bin/FileCheck /Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | �[1m/Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: �[0m�[0;1;31merror: �[0m�[1mCHECK-NEXT: expected string not found in input
�[0m# | �[1m�[0m; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# | �[0;1;32m              ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:33:23: �[0m�[0;1;30mnote: �[0m�[1mscanning from here
�[0m# | �[1m�[0mvec.epilog.iter.check: ; preds = %middle.block
# | �[0;1;32m                      ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:33:23: �[0m�[0;1;30mnote: �[0m�[1mwith "REM" equal to "%rem"
�[0m# | �[1m�[0mvec.epilog.iter.check: ; preds = %middle.block
# | �[0;1;32m                      ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:33:23: �[0m�[0;1;30mnote: �[0m�[1mwith "N_VEC" equal to "%n.vec"
�[0m# | �[1m�[0mvec.epilog.iter.check: ; preds = %middle.block
# | �[0;1;32m                      ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:38:19: �[0m�[0;1;30mnote: �[0m�[1mpossible intended match here
�[0m# | �[1m�[0m %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# | �[0;1;32m                  ^
�[0m# | �[0;1;32m�[0m
# | Input file: <stdin>
# | Check file: /Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# | �[1m�[0m�[0;1;30m            1: �[0m�[1m�[0;1;46m; ModuleID = '/Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' �[0m
# | �[0;1;30m            2: �[0m�[1m�[0;1;46msource_filename = "/Users/buildbot/buildbot-root2/aarch64-darwin/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll" �[0m
# | �[0;1;30m            3: �[0m�[1m�[0;1;46mtarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" �[0m
# | �[0;1;30m            4: �[0m�[1m�[0;1;46mtarget triple = "aarch64" �[0m
# | �[0;1;30m            5: �[0m�[1m�[0;1;46m �[0m
# | �[0;1;30m            6: �[0m�[1m�[0;1;46m�[0mdefine void @epilogue_vectorization_fix_scalar_resume_values(ptr %dst, i64 %n) {�[0;1;46m �[0m
# | �[0;1;32mlabel:9'0      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32mlabel:9'1      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32msame:10'0                                                                   ^~~~~~~~~~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32msame:10'1                                                                       ^~~~             captured var "DST"
�[0m# | �[0;1;32m�[0m�[0;1;32msame:10'2                                                                                 ^~     captured var "N"
�[0m# | �[0;1;32m�[0m�[0;1;30m            7: �[0m�[1m�[0;1;46m�[0miter.check:�[0;1;46m �[0m
# | �[0;1;32mnext:11'0      ^~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32mnext:11'1      ^~~~~~~~~~   captured var "ITER_CHECK"
�[0m# | �[0;1;32m�[0m�[0;1;30m            8: �[0m�[1m�[0;1;46m �[0m%rem = urem i64 %n, 3�[0;1;46m �[0m
# | �[0;1;32mnext:12'0       ^~~~~~~~~~~~~~~~~~~~~
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 25, 2025

LLVM Buildbot has detected a new failure on builder lld-x86_64-ubuntu-fast running on as-builder-4 while building llvm at step 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/opt -passes=loop-vectorize -S /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/opt -passes=loop-vectorize -S /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# |               ^
# | <stdin>:33:23: note: scanning from here
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "REM" equal to "%rem"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "N_VEC" equal to "%n.vec"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:38:19: note: possible intended match here
# |  %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# |                   ^
# | 
# | Input file: <stdin>
# | Check file: /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           28:  
# |           29: middle.block: ; preds = %vector.body 
# |           30:  %cmp.n = icmp eq i64 %rem, %n.vec 
# |           31:  br i1 %cmp.n, label %exit, label %vec.epilog.iter.check 
# |           32:  
# |           33: vec.epilog.iter.check: ; preds = %middle.block 
# | next:33'0                           X~~~~~~~~~~~~~~~~~~~~~~~~ error: no match found
# | next:33'1                                                     with "REM" equal to "%rem"
# | next:33'2                                                     with "N_VEC" equal to "%n.vec"
# |           34:  %min.epilog.iters.check = icmp ult i64 %n.mod.vf, 8 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           35:  br i1 %min.epilog.iters.check, label %vec.epilog.scalar.ph, label %vec.epilog.ph, !prof !3 
# | next:33'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           36:  
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 25, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-gcc-ubuntu running on sie-linux-worker3 while building llvm at step 6 "test-build-unified-tree-check-all".

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

Here is the relevant piece of the build log for the reference
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/opt -passes=loop-vectorize -S /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/opt -passes=loop-vectorize -S /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# note: command had no output on stdout or stderr
# executed command: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/build/bin/FileCheck /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | �[1m/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: �[0m�[0;1;31merror: �[0m�[1mCHECK-NEXT: expected string not found in input
�[0m# | �[1m�[0m; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# | �[0;1;32m              ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:33:23: �[0m�[0;1;30mnote: �[0m�[1mscanning from here
�[0m# | �[1m�[0mvec.epilog.iter.check: ; preds = %middle.block
# | �[0;1;32m                      ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:33:23: �[0m�[0;1;30mnote: �[0m�[1mwith "REM" equal to "%rem"
�[0m# | �[1m�[0mvec.epilog.iter.check: ; preds = %middle.block
# | �[0;1;32m                      ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:33:23: �[0m�[0;1;30mnote: �[0m�[1mwith "N_VEC" equal to "%n.vec"
�[0m# | �[1m�[0mvec.epilog.iter.check: ; preds = %middle.block
# | �[0;1;32m                      ^
�[0m# | �[0;1;32m�[0m�[1m<stdin>:38:19: �[0m�[0;1;30mnote: �[0m�[1mpossible intended match here
�[0m# | �[1m�[0m %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# | �[0;1;32m                  ^
�[0m# | �[0;1;32m�[0m
# | Input file: <stdin>
# | Check file: /home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# | �[1m�[0m�[0;1;30m            1: �[0m�[1m�[0;1;46m; ModuleID = '/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' �[0m
# | �[0;1;30m            2: �[0m�[1m�[0;1;46msource_filename = "/home/buildbot/buildbot-root/llvm-clang-x86_64-gcc-ubuntu/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll" �[0m
# | �[0;1;30m            3: �[0m�[1m�[0;1;46mtarget datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" �[0m
# | �[0;1;30m            4: �[0m�[1m�[0;1;46mtarget triple = "aarch64" �[0m
# | �[0;1;30m            5: �[0m�[1m�[0;1;46m �[0m
# | �[0;1;30m            6: �[0m�[1m�[0;1;46m�[0mdefine void @epilogue_vectorization_fix_scalar_resume_values(ptr %dst, i64 %n) {�[0;1;46m �[0m
# | �[0;1;32mlabel:9'0      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32mlabel:9'1      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32msame:10'0                                                                   ^~~~~~~~~~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32msame:10'1                                                                       ^~~~             captured var "DST"
�[0m# | �[0;1;32m�[0m�[0;1;32msame:10'2                                                                                 ^~     captured var "N"
�[0m# | �[0;1;32m�[0m�[0;1;30m            7: �[0m�[1m�[0;1;46m�[0miter.check:�[0;1;46m �[0m
# | �[0;1;32mnext:11'0      ^~~~~~~~~~~
�[0m# | �[0;1;32m�[0m�[0;1;32mnext:11'1      ^~~~~~~~~~   captured var "ITER_CHECK"
�[0m# | �[0;1;32m�[0m�[0;1;30m            8: �[0m�[1m�[0;1;46m �[0m%rem = urem i64 %n, 3�[0;1;46m �[0m
# | �[0;1;32mnext:12'0       ^~~~~~~~~~~~~~~~~~~~~
...

@llvm-ci
Copy link
Collaborator

llvm-ci commented Sep 25, 2025

LLVM Buildbot has detected a new failure on builder fuchsia-x86_64-linux running on fuchsia-debian-64-us-central1-b-1 while building llvm at step 4 "annotate".

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

Here is the relevant piece of the build log for the reference
Step 4 (annotate) failure: 'python ../llvm-zorg/zorg/buildbot/builders/annotated/fuchsia-linux.py ...' (failure)
...
  Passed           : 46894 (97.53%)
  Expectedly Failed:    26 (0.05%)
[1429/1431] Linking CXX executable unittests/tools/llvm-exegesis/LLVMExegesisTests
[1430/1431] Running the LLVM regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/wasm-ld
-- Testing: 61251 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70..
FAIL: LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll (48745 of 61251)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/opt -passes=loop-vectorize -S /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/opt -passes=loop-vectorize -S /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# |               ^
# | <stdin>:33:23: note: scanning from here
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "REM" equal to "%rem"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "N_VEC" equal to "%n.vec"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:38:19: note: possible intended match here
# |  %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# |                   ^
# | 
# | Input file: <stdin>
# | Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           28:  
# |           29: middle.block: ; preds = %vector.body 
Step 7 (check) failure: check (failure)
...
  Passed           : 46894 (97.53%)
  Expectedly Failed:    26 (0.05%)
[1429/1431] Linking CXX executable unittests/tools/llvm-exegesis/LLVMExegesisTests
[1430/1431] Running the LLVM regression tests
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/ld.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using lld-link: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/lld-link
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using ld64.lld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/ld64.lld
llvm-lit: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/utils/lit/lit/llvm/config.py:530: note: using wasm-ld: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/wasm-ld
-- Testing: 61251 tests, 60 workers --
Testing:  0.. 10.. 20.. 30.. 40.. 50.. 60.. 70..
FAIL: LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll (48745 of 61251)
******************** TEST 'LLVM :: Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll' FAILED ********************
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/opt -passes=loop-vectorize -S /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll | /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/opt -passes=loop-vectorize -S /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# executed command: /var/lib/buildbot/fuchsia-x86_64-linux/build/llvm-build-p2pjbqr3/bin/FileCheck /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# .---command stderr------------
# | /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll:33:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: [[N_VEC_REMAINING:%.*]] = sub i64 [[REM]], [[N_VEC]]
# |               ^
# | <stdin>:33:23: note: scanning from here
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "REM" equal to "%rem"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:33:23: note: with "N_VEC" equal to "%n.vec"
# | vec.epilog.iter.check: ; preds = %middle.block
# |                       ^
# | <stdin>:38:19: note: possible intended match here
# |  %vec.epilog.resume.val = phi i64 [ %n.vec, %vec.epilog.iter.check ], [ 0, %vector.main.loop.iter.check ]
# |                   ^
# | 
# | Input file: <stdin>
# | Check file: /var/lib/buildbot/fuchsia-x86_64-linux/llvm-project/llvm/test/Transforms/LoopVectorize/AArch64/epilogue-vectorization-fix-scalar-resume-values.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           28:  
# |           29: middle.block: ; preds = %vector.body 

ckoparkar added a commit to ckoparkar/llvm-project that referenced this pull request Sep 25, 2025
* main: (502 commits)
  GlobalISel: Adjust insert point when expanding G_[SU]DIVREM  (llvm#160683)
  [LV] Add coverage for fixing-up scalar resume values (llvm#160492)
  AMDGPU: Convert wave_any test to use update_mc_test_checks
  [LV] Add partial reduction tests multiplying extend with constants.
  Revert "[MLIR] Implement remark emitting policies in MLIR" (llvm#160681)
  [NFC][InstSimplify] Refactor fminmax-folds.ll test (llvm#160504)
  [LoongArch] Pre-commit tests for [x]vldi instructions with special constant splats (llvm#159228)
  [BOLT] Fix dwarf5-dwoid-no-dwoname.s (llvm#160676)
  [lldb][test] Refactor and expand TestMemoryRegionDirtyPages.py (llvm#156035)
  [gn build] Port 833d5f0
  AMDGPU: Ensure both wavesize features are not set (llvm#159234)
  [LoopInterchange] Bail out when finding a dependency with all `*` elements (llvm#149049)
  [libc++] Avoid constructing additional objects when using map::at (llvm#157866)
  [lldb][test] Make hex prefix optional in DWARF union types test
  [X86] Add missing prefixes to trunc-sat tests (llvm#160662)
  [AMDGPU] Fix vector legalization for bf16 valu ops (llvm#158439)
  [LoongArch][NFC] Pre-commit tests for `[x]vadda.{b/h/w/d}`
  [mlir][tosa] Relax constraint on matmul verifier requiring equal operand types (llvm#155799)
  [clang][Sema] Accept gnu format attributes (llvm#160255)
  [LoongArch][NFC] Add tests for element extraction from binary add operation (llvm#159725)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants