[llvm] 77047e3 - [RISCV] Make vsetvli in test not loop invariant. NFC (#92094)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 14 21:32:30 PDT 2024
Author: Luke Lau
Date: 2024-05-15T12:32:26+08:00
New Revision: 77047e3cd2edd2b870982fc92f505cbb7fd764cd
URL: https://github.com/llvm/llvm-project/commit/77047e3cd2edd2b870982fc92f505cbb7fd764cd
DIFF: https://github.com/llvm/llvm-project/commit/77047e3cd2edd2b870982fc92f505cbb7fd764cd.diff
LOG: [RISCV] Make vsetvli in test not loop invariant. NFC (#92094)
The middle end will remove the inner vsetvli otherwise, and it's more
typical to set the AVL to the remaining VL.
This also prevents the test from showing up as a regression in #91319
Added:
Modified:
llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
Removed:
################################################################################
diff --git a/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll b/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
index 5b09aaedd9751..12bb4d27b0f97 100644
--- a/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
+++ b/llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.ll
@@ -102,23 +102,23 @@ declare <vscale x 1 x i1> @llvm.riscv.vmand.nxv1i1.i64(<vscale x 1 x i1>, <vscal
define void @test6(ptr nocapture readonly %A, ptr nocapture %B, i64 %n) {
; CHECK-LABEL: test6:
; CHECK: # %bb.0: # %entry
-; CHECK-NEXT: vsetvli a6, a2, e32, m1, ta, ma
-; CHECK-NEXT: beqz a6, .LBB5_3
+; CHECK-NEXT: vsetvli a2, a2, e32, m1, ta, ma
+; CHECK-NEXT: beqz a2, .LBB5_3
; CHECK-NEXT: # %bb.1: # %for.body.preheader
-; CHECK-NEXT: li a4, 0
+; CHECK-NEXT: li a3, 0
; CHECK-NEXT: .LBB5_2: # %for.body
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
-; CHECK-NEXT: slli a3, a4, 2
-; CHECK-NEXT: add a5, a0, a3
+; CHECK-NEXT: slli a4, a3, 2
+; CHECK-NEXT: add a5, a0, a4
; CHECK-NEXT: vle32.v v8, (a5)
; CHECK-NEXT: vmsle.vi v9, v8, -3
; CHECK-NEXT: vmsgt.vi v10, v8, 2
; CHECK-NEXT: vmor.mm v0, v9, v10
-; CHECK-NEXT: add a3, a3, a1
-; CHECK-NEXT: vse32.v v8, (a3), v0.t
-; CHECK-NEXT: add a4, a4, a6
-; CHECK-NEXT: vsetvli a6, a2, e32, m1, ta, ma
-; CHECK-NEXT: bnez a6, .LBB5_2
+; CHECK-NEXT: add a4, a4, a1
+; CHECK-NEXT: vse32.v v8, (a4), v0.t
+; CHECK-NEXT: add a3, a3, a2
+; CHECK-NEXT: vsetvli a2, a2, e32, m1, ta, ma
+; CHECK-NEXT: bnez a2, .LBB5_2
; CHECK-NEXT: .LBB5_3: # %for.cond.cleanup
; CHECK-NEXT: ret
entry:
@@ -142,7 +142,7 @@ for.body: ; preds = %entry, %for.body
%7 = bitcast ptr %add.ptr1 to ptr
tail call void @llvm.riscv.vse.mask.nxv2i32.i64(<vscale x 2 x i32> %3, ptr %7, <vscale x 2 x i1> %6, i64 %1)
%add = add i64 %1, %i.012
- %8 = tail call i64 @llvm.riscv.vsetvli.i64(i64 %n, i64 2, i64 0)
+ %8 = tail call i64 @llvm.riscv.vsetvli.i64(i64 %1, i64 2, i64 0)
%cmp.not = icmp eq i64 %8, 0
br i1 %cmp.not, label %for.cond.cleanup, label %for.body
}
More information about the llvm-commits
mailing list