@@ -55,7 +55,7 @@ define i64 @same_exit_block_pre_inc_use1() #1 {
5555; CHECK-NEXT: br i1 [[TMP17]], label [[VECTOR_EARLY_EXIT:%.*]], label [[MIDDLE_BLOCK:%.*]]
5656; CHECK: vector.early.exit:
5757; CHECK-NEXT: [[FIRST_ACTIVE_LANE:%.*]] = call i64 @llvm.experimental.cttz.elts.i64.nxv16i1(<vscale x 16 x i1> [[TMP16]], i1 true)
58- ; CHECK-NEXT: [[TMP20 :%.*]] = extractelement <vscale x 16 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
58+ ; CHECK-NEXT: [[EARLY_EXIT_VALUE :%.*]] = extractelement <vscale x 16 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
5959; CHECK-NEXT: br label [[LOOP_END:%.*]]
6060; CHECK: middle.block:
6161; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i64 64, [[N_VEC]]
@@ -76,7 +76,7 @@ define i64 @same_exit_block_pre_inc_use1() #1 {
7676; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i64 [[INDEX_NEXT]], 67
7777; CHECK-NEXT: br i1 [[EXITCOND]], label [[LOOP]], label [[LOOP_END]], !llvm.loop [[LOOP3:![0-9]+]]
7878; CHECK: loop.end:
79- ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[TMP20 ]], [[VECTOR_EARLY_EXIT]] ]
79+ ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[EARLY_EXIT_VALUE ]], [[VECTOR_EARLY_EXIT]] ]
8080; CHECK-NEXT: ret i64 [[RETVAL]]
8181;
8282entry:
@@ -138,7 +138,7 @@ define i64 @same_exit_block_pre_inc_use4() {
138138; CHECK-NEXT: br i1 [[TMP5]], label [[VECTOR_EARLY_EXIT:%.*]], label [[MIDDLE_BLOCK:%.*]]
139139; CHECK: vector.early.exit:
140140; CHECK-NEXT: [[FIRST_ACTIVE_LANE:%.*]] = call i64 @llvm.experimental.cttz.elts.i64.v2i1(<2 x i1> [[TMP4]], i1 true)
141- ; CHECK-NEXT: [[TMP8 :%.*]] = extractelement <2 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
141+ ; CHECK-NEXT: [[EARLY_EXIT_VALUE :%.*]] = extractelement <2 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
142142; CHECK-NEXT: br label [[LOOP_END:%.*]]
143143; CHECK: middle.block:
144144; CHECK-NEXT: br i1 true, label [[LOOP_END]], label [[SCALAR_PH]]
@@ -156,7 +156,7 @@ define i64 @same_exit_block_pre_inc_use4() {
156156; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i64 [[INDEX_NEXT]], 67
157157; CHECK-NEXT: br i1 [[EXITCOND]], label [[LOOP]], label [[LOOP_END]], !llvm.loop [[LOOP5:![0-9]+]]
158158; CHECK: loop.end:
159- ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[TMP8 ]], [[VECTOR_EARLY_EXIT]] ]
159+ ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[EARLY_EXIT_VALUE ]], [[VECTOR_EARLY_EXIT]] ]
160160; CHECK-NEXT: ret i64 [[RETVAL]]
161161;
162162entry:
@@ -216,7 +216,7 @@ define i64 @loop_contains_safe_call() #1 {
216216; CHECK-NEXT: br i1 [[TMP6]], label [[VECTOR_EARLY_EXIT:%.*]], label [[MIDDLE_BLOCK:%.*]]
217217; CHECK: vector.early.exit:
218218; CHECK-NEXT: [[FIRST_ACTIVE_LANE:%.*]] = call i64 @llvm.experimental.cttz.elts.i64.v4i1(<4 x i1> [[TMP5]], i1 true)
219- ; CHECK-NEXT: [[TMP9 :%.*]] = extractelement <4 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
219+ ; CHECK-NEXT: [[EARLY_EXIT_VALUE :%.*]] = extractelement <4 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
220220; CHECK-NEXT: br label [[LOOP_END:%.*]]
221221; CHECK: middle.block:
222222; CHECK-NEXT: br i1 true, label [[LOOP_END]], label [[SCALAR_PH]]
@@ -235,7 +235,7 @@ define i64 @loop_contains_safe_call() #1 {
235235; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i64 [[INDEX_NEXT]], 67
236236; CHECK-NEXT: br i1 [[EXITCOND]], label [[LOOP]], label [[LOOP_END]], !llvm.loop [[LOOP7:![0-9]+]]
237237; CHECK: loop.end:
238- ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[TMP9 ]], [[VECTOR_EARLY_EXIT]] ]
238+ ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[EARLY_EXIT_VALUE ]], [[VECTOR_EARLY_EXIT]] ]
239239; CHECK-NEXT: ret i64 [[RETVAL]]
240240;
241241entry:
@@ -296,7 +296,7 @@ define i64 @loop_contains_safe_div() #1 {
296296; CHECK-NEXT: br i1 [[TMP6]], label [[VECTOR_EARLY_EXIT:%.*]], label [[MIDDLE_BLOCK:%.*]]
297297; CHECK: vector.early.exit:
298298; CHECK-NEXT: [[FIRST_ACTIVE_LANE:%.*]] = call i64 @llvm.experimental.cttz.elts.i64.v2i1(<2 x i1> [[TMP5]], i1 true)
299- ; CHECK-NEXT: [[TMP9 :%.*]] = extractelement <2 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
299+ ; CHECK-NEXT: [[EARLY_EXIT_VALUE :%.*]] = extractelement <2 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
300300; CHECK-NEXT: br label [[LOOP_END:%.*]]
301301; CHECK: middle.block:
302302; CHECK-NEXT: br i1 true, label [[LOOP_END]], label [[SCALAR_PH]]
@@ -315,7 +315,7 @@ define i64 @loop_contains_safe_div() #1 {
315315; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i64 [[INDEX_NEXT]], 67
316316; CHECK-NEXT: br i1 [[EXITCOND]], label [[LOOP]], label [[LOOP_END]], !llvm.loop [[LOOP9:![0-9]+]]
317317; CHECK: loop.end:
318- ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[TMP9 ]], [[VECTOR_EARLY_EXIT]] ]
318+ ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ 67, [[LOOP_INC]] ], [ 67, [[MIDDLE_BLOCK]] ], [ [[EARLY_EXIT_VALUE ]], [[VECTOR_EARLY_EXIT]] ]
319319; CHECK-NEXT: ret i64 [[RETVAL]]
320320;
321321entry:
@@ -381,7 +381,7 @@ define i64 @loop_contains_load_after_early_exit(ptr dereferenceable(1024) align(
381381; CHECK-NEXT: br i1 [[TMP7]], label [[VECTOR_EARLY_EXIT:%.*]], label [[MIDDLE_BLOCK:%.*]]
382382; CHECK: vector.early.exit:
383383; CHECK-NEXT: [[FIRST_ACTIVE_LANE:%.*]] = call i64 @llvm.experimental.cttz.elts.i64.v4i1(<4 x i1> [[TMP6]], i1 true)
384- ; CHECK-NEXT: [[TMP11 :%.*]] = extractelement <4 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
384+ ; CHECK-NEXT: [[EARLY_EXIT_VALUE :%.*]] = extractelement <4 x i64> [[VEC_IND]], i64 [[FIRST_ACTIVE_LANE]]
385385; CHECK-NEXT: br label [[LOOP_END:%.*]]
386386; CHECK: middle.block:
387387; CHECK-NEXT: br i1 true, label [[LOOP_END]], label [[SCALAR_PH]]
@@ -401,7 +401,7 @@ define i64 @loop_contains_load_after_early_exit(ptr dereferenceable(1024) align(
401401; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i64 [[INDEX_NEXT]], 67
402402; CHECK-NEXT: br i1 [[EXITCOND]], label [[LOOP]], label [[LOOP_END]], !llvm.loop [[LOOP11:![0-9]+]]
403403; CHECK: loop.end:
404- ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ [[LD2]], [[LOOP_INC]] ], [ [[TMP10]], [[MIDDLE_BLOCK]] ], [ [[TMP11 ]], [[VECTOR_EARLY_EXIT]] ]
404+ ; CHECK-NEXT: [[RETVAL:%.*]] = phi i64 [ [[INDEX]], [[LOOP]] ], [ [[LD2]], [[LOOP_INC]] ], [ [[TMP10]], [[MIDDLE_BLOCK]] ], [ [[EARLY_EXIT_VALUE ]], [[VECTOR_EARLY_EXIT]] ]
405405; CHECK-NEXT: ret i64 [[RETVAL]]
406406;
407407entry:
0 commit comments