Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / Transforms / LoopVectorize / RISCV / only-compute-cost-for-vplan-vfs.ll
blobf404b8949288621bffdb8cc8e3bcdb8e33509937
1 ; RUN: opt -passes=loop-vectorize -force-tail-folding-style=data-with-evl \
2 ; RUN: -prefer-predicate-over-epilogue=predicate-dont-vectorize \
3 ; RUN: -mtriple=riscv64 -mattr=+v -S -debug %s 2>&1 | FileCheck %s
5 ; REQUIRES: asserts
7 ; Make sure we do not vectorize a loop with a widened int induction.
8 define void @test_wide_integer_induction(ptr noalias %a, i64 %N) {
9 ; CHECK-NOT: LV: Vector loop of width {{.+}} costs:
11 ; CHECK: define void @test_wide_integer_induction(
12 ; CHECK-NOT: vector.body
14 entry:
15   br label %loop
17 loop:
18   %iv = phi i64 [ 0, %entry ], [ %iv.next, %loop ]
19   %arrayidx = getelementptr inbounds i64, ptr %a, i64 %iv
20   store i64 %iv, ptr %arrayidx, align 8
21   %iv.next = add nuw nsw i64 %iv, 1
22   %exitcond.not = icmp eq i64 %iv.next, %N
23   br i1 %exitcond.not, label %exit, label %loop
25 exit:
26   ret void