Skip to content

Commit c48aa54

Browse files
authored
[LV][NFC] Remove undef from function return values (#163578)
Split off from PR #163525, this standalone patch replaces `ret * undef` returns with `ret void` in order to reduce the likelihood of contributors hitting the `undef deprecator` warning in github.
1 parent 95eb2db commit c48aa54

15 files changed

+69
-67
lines changed

llvm/test/Transforms/LoopVectorize/12-12-11-if-conv.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
55
;CHECK-LABEL: @foo(
66
;CHECK: icmp eq <4 x i32>
77
;CHECK: select <4 x i1>
8-
;CHECK: ret i32
9-
define i32 @foo(i32 %x, i32 %t, ptr nocapture %A) nounwind uwtable ssp {
8+
;CHECK: ret void
9+
define void @foo(i32 %x, i32 %t, ptr nocapture %A) nounwind uwtable ssp {
1010
entry:
1111
%cmp10 = icmp sgt i32 %x, 0
1212
br i1 %cmp10, label %for.body, label %for.end
@@ -35,5 +35,5 @@ if.end: ; preds = %for.body, %if.then
3535
br i1 %exitcond, label %for.end, label %for.body
3636

3737
for.end: ; preds = %if.end, %entry
38-
ret i32 undef
38+
ret void
3939
}

llvm/test/Transforms/LoopVectorize/ARM/scalar-block-cost.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ for.body: ; preds = %entry, %for.body
3636
br i1 %exitcond.not, label %exit, label %for.body
3737
}
3838

39-
define i32 @if_convert(ptr %a, ptr %b, i32 %start, i32 %end) #0 {
39+
define void @if_convert(ptr %a, ptr %b, i32 %start, i32 %end) #0 {
4040

4141
; CHECK-COST-2: LV: Found an estimated cost of 0 for VF 1 For instruction: %i.032 = phi i32 [ %inc, %if.end ], [ %start, %for.body.preheader ]
4242
; CHECK-COST-2-NEXT: LV: Found an estimated cost of 0 for VF 1 For instruction: %arrayidx = getelementptr inbounds i32, ptr %a, i32 %i.032
@@ -70,7 +70,7 @@ for.cond.cleanup.loopexit: ; preds = %if.end
7070
br label %for.cond.cleanup
7171

7272
for.cond.cleanup: ; preds = %for.cond.cleanup.loopexit, %entry
73-
ret i32 undef
73+
ret void
7474

7575
for.body: ; preds = %for.body.preheader, %if.end
7676
%i.032 = phi i32 [ %inc, %if.end ], [ %start, %for.body.preheader ]

llvm/test/Transforms/LoopVectorize/X86/avx1.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ target triple = "x86_64-apple-macosx10.8.0"
66

77
; CHECK-LABEL: @read_mod_write_single_ptr(
88
; CHECK: load <8 x float>
9-
; CHECK: ret i32
10-
define i32 @read_mod_write_single_ptr(ptr nocapture %a, i32 %n) nounwind uwtable ssp {
9+
; CHECK: ret void
10+
define void @read_mod_write_single_ptr(ptr nocapture %a, i32 %n) nounwind uwtable ssp {
1111
%1 = icmp sgt i32 %n, 0
1212
br i1 %1, label %.lr.ph, label %._crit_edge
1313

@@ -23,15 +23,15 @@ define i32 @read_mod_write_single_ptr(ptr nocapture %a, i32 %n) nounwind uwtable
2323
br i1 %exitcond, label %._crit_edge, label %.lr.ph
2424

2525
._crit_edge: ; preds = %.lr.ph, %0
26-
ret i32 undef
26+
ret void
2727
}
2828

2929

3030
; CHECK-LABEL: @read_mod_i64(
3131
; SLOWMEM32: load <2 x i64>
3232
; FASTMEM32: load <4 x i64>
33-
; CHECK: ret i32
34-
define i32 @read_mod_i64(ptr nocapture %a, i32 %n) nounwind uwtable ssp {
33+
; CHECK: ret void
34+
define void @read_mod_i64(ptr nocapture %a, i32 %n) nounwind uwtable ssp {
3535
%1 = icmp sgt i32 %n, 0
3636
br i1 %1, label %.lr.ph, label %._crit_edge
3737

@@ -47,6 +47,6 @@ define i32 @read_mod_i64(ptr nocapture %a, i32 %n) nounwind uwtable ssp {
4747
br i1 %exitcond, label %._crit_edge, label %.lr.ph
4848

4949
._crit_edge: ; preds = %.lr.ph, %0
50-
ret i32 undef
50+
ret void
5151
}
5252

llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
55
target triple = "x86_64-apple-macosx10.8.0"
66

7-
define i32 @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwind uwtable ssp {
7+
define void @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwind uwtable ssp {
88
; CHECK-LABEL: @conversion_cost1(
99
; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt i32 [[N:%.*]], 3
1010
; CHECK-NEXT: br i1 [[TMP1]], label [[ITER_CHECK:%.*]], label [[DOT_CRIT_EDGE:%.*]]
@@ -37,7 +37,7 @@ define i32 @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
3737
; CHECK: vec.epilog.iter.check:
3838
; CHECK-NEXT: [[IND_END5:%.*]] = add i64 3, [[N_VEC]]
3939
; CHECK-NEXT: [[MIN_EPILOG_ITERS_CHECK:%.*]] = icmp ult i64 [[N_MOD_VF]], 4
40-
; CHECK-NEXT: br i1 [[MIN_EPILOG_ITERS_CHECK]], label [[VEC_EPILOG_SCALAR_PH]], label [[VEC_EPILOG_PH]]
40+
; CHECK-NEXT: br i1 [[MIN_EPILOG_ITERS_CHECK]], label [[VEC_EPILOG_SCALAR_PH]], label [[VEC_EPILOG_PH]], !prof [[PROF3:![0-9]+]]
4141
; CHECK: vec.epilog.ph:
4242
; CHECK-NEXT: [[VEC_EPILOG_RESUME_VAL:%.*]] = phi i64 [ [[N_VEC]], [[VEC_EPILOG_ITER_CHECK]] ], [ 0, [[VECTOR_MAIN_LOOP_ITER_CHECK]] ]
4343
; CHECK-NEXT: [[BC_RESUME_VAL:%.*]] = phi i64 [ [[IND_END]], [[VEC_EPILOG_ITER_CHECK]] ], [ 3, [[VECTOR_MAIN_LOOP_ITER_CHECK]] ]
@@ -58,7 +58,7 @@ define i32 @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
5858
; CHECK-NEXT: [[INDEX_NEXT11]] = add nuw i64 [[INDEX7]], 4
5959
; CHECK-NEXT: [[VEC_IND_NEXT9]] = add <4 x i8> [[VEC_IND8]], splat (i8 4)
6060
; CHECK-NEXT: [[TMP12:%.*]] = icmp eq i64 [[INDEX_NEXT11]], [[N_VEC3]]
61-
; CHECK-NEXT: br i1 [[TMP12]], label [[VEC_EPILOG_MIDDLE_BLOCK:%.*]], label [[VEC_EPILOG_VECTOR_BODY]], !llvm.loop [[LOOP3:![0-9]+]]
61+
; CHECK-NEXT: br i1 [[TMP12]], label [[VEC_EPILOG_MIDDLE_BLOCK:%.*]], label [[VEC_EPILOG_VECTOR_BODY]], !llvm.loop [[LOOP4:![0-9]+]]
6262
; CHECK: vec.epilog.middle.block:
6363
; CHECK-NEXT: [[CMP_N12:%.*]] = icmp eq i64 [[TMP3]], [[N_VEC3]]
6464
; CHECK-NEXT: br i1 [[CMP_N12]], label [[DOT_CRIT_EDGE_LOOPEXIT]], label [[VEC_EPILOG_SCALAR_PH]]
@@ -73,11 +73,11 @@ define i32 @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
7373
; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i64 [[INDVARS_IV]], 1
7474
; CHECK-NEXT: [[LFTR_WIDEIV:%.*]] = trunc i64 [[INDVARS_IV_NEXT]] to i32
7575
; CHECK-NEXT: [[EXITCOND:%.*]] = icmp eq i32 [[LFTR_WIDEIV]], [[N]]
76-
; CHECK-NEXT: br i1 [[EXITCOND]], label [[DOT_CRIT_EDGE_LOOPEXIT]], label [[DOTLR_PH]], !llvm.loop [[LOOP4:![0-9]+]]
76+
; CHECK-NEXT: br i1 [[EXITCOND]], label [[DOT_CRIT_EDGE_LOOPEXIT]], label [[DOTLR_PH]], !llvm.loop [[LOOP5:![0-9]+]]
7777
; CHECK: ._crit_edge.loopexit:
7878
; CHECK-NEXT: br label [[DOT_CRIT_EDGE]]
7979
; CHECK: ._crit_edge:
80-
; CHECK-NEXT: ret i32 undef
80+
; CHECK-NEXT: ret void
8181
;
8282
%1 = icmp sgt i32 %n, 3
8383
br i1 %1, label %.lr.ph, label %._crit_edge
@@ -93,10 +93,10 @@ define i32 @conversion_cost1(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
9393
br i1 %exitcond, label %._crit_edge, label %.lr.ph
9494

9595
._crit_edge: ; preds = %.lr.ph, %0
96-
ret i32 undef
96+
ret void
9797
}
9898

99-
define i32 @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwind uwtable ssp {
99+
define void @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwind uwtable ssp {
100100
; CHECK-LABEL: @conversion_cost2(
101101
; CHECK-NEXT: [[TMP1:%.*]] = icmp sgt i32 [[N:%.*]], 9
102102
; CHECK-NEXT: br i1 [[TMP1]], label [[DOTLR_PH_PREHEADER:%.*]], label [[DOT_CRIT_EDGE:%.*]]
@@ -136,7 +136,7 @@ define i32 @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
136136
; CHECK-NEXT: [[INDEX_NEXT]] = add nuw i64 [[INDEX]], 8
137137
; CHECK-NEXT: [[VEC_IND_NEXT]] = add <2 x i64> [[STEP_ADD_3]], splat (i64 2)
138138
; CHECK-NEXT: [[TMP24:%.*]] = icmp eq i64 [[INDEX_NEXT]], [[N_VEC]]
139-
; CHECK-NEXT: br i1 [[TMP24]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP5:![0-9]+]]
139+
; CHECK-NEXT: br i1 [[TMP24]], label [[MIDDLE_BLOCK:%.*]], label [[VECTOR_BODY]], !llvm.loop [[LOOP6:![0-9]+]]
140140
; CHECK: middle.block:
141141
; CHECK-NEXT: [[CMP_N:%.*]] = icmp eq i64 [[TMP3]], [[N_VEC]]
142142
; CHECK-NEXT: br i1 [[CMP_N]], label [[DOT_CRIT_EDGE_LOOPEXIT:%.*]], label [[SCALAR_PH]]
@@ -152,11 +152,11 @@ define i32 @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
152152
; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i64 [[INDVARS_IV]], 1
153153
; CHECK-NEXT: [[LFTR_WIDEIV:%.*]] = trunc i64 [[INDVARS_IV_NEXT]] to i32
154154
; CHECK-NEXT: [[EXITCOND:%.*]] = icmp eq i32 [[LFTR_WIDEIV]], [[N]]
155-
; CHECK-NEXT: br i1 [[EXITCOND]], label [[DOT_CRIT_EDGE_LOOPEXIT]], label [[DOTLR_PH]], !llvm.loop [[LOOP6:![0-9]+]]
155+
; CHECK-NEXT: br i1 [[EXITCOND]], label [[DOT_CRIT_EDGE_LOOPEXIT]], label [[DOTLR_PH]], !llvm.loop [[LOOP7:![0-9]+]]
156156
; CHECK: ._crit_edge.loopexit:
157157
; CHECK-NEXT: br label [[DOT_CRIT_EDGE]]
158158
; CHECK: ._crit_edge:
159-
; CHECK-NEXT: ret i32 undef
159+
; CHECK-NEXT: ret void
160160
;
161161
%1 = icmp sgt i32 %n, 9
162162
br i1 %1, label %.lr.ph, label %._crit_edge
@@ -173,5 +173,5 @@ define i32 @conversion_cost2(i32 %n, ptr nocapture %A, ptr nocapture %B) nounwin
173173
br i1 %exitcond, label %._crit_edge, label %.lr.ph
174174

175175
._crit_edge: ; preds = %.lr.ph, %0
176-
ret i32 undef
176+
ret void
177177
}

llvm/test/Transforms/LoopVectorize/X86/runtime-limit.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ target triple = "x86_64-unknown-linux"
1313
;CHECK-LABEL: func1x6(
1414
;CHECK: <4 x i32>
1515
;CHECK: ret
16-
define i32 @func1x6(ptr nocapture %out, ptr nocapture %A, ptr nocapture %B, ptr nocapture %C, ptr nocapture %D, ptr nocapture %E, ptr nocapture %F) {
16+
define void @func1x6(ptr nocapture %out, ptr nocapture %A, ptr nocapture %B, ptr nocapture %C, ptr nocapture %D, ptr nocapture %E, ptr nocapture %F) {
1717
entry:
1818
br label %for.body
1919

@@ -40,14 +40,14 @@ for.body: ; preds = %for.body, %entry
4040
br i1 %exitcond, label %for.end, label %for.body
4141

4242
for.end: ; preds = %for.body
43-
ret i32 undef
43+
ret void
4444
}
4545

4646
; We are vectorizing with 12 runtime checks.
4747
;CHECK-LABEL: func2x6(
4848
;CHECK: <4 x i32>
4949
;CHECK: ret
50-
define i32 @func2x6(ptr nocapture %out, ptr nocapture %out2, ptr nocapture %A, ptr nocapture %B, ptr nocapture %C, ptr nocapture %D, ptr nocapture %E, ptr nocapture %F) {
50+
define void @func2x6(ptr nocapture %out, ptr nocapture %out2, ptr nocapture %A, ptr nocapture %B, ptr nocapture %C, ptr nocapture %D, ptr nocapture %E, ptr nocapture %F) {
5151
entry:
5252
br label %for.body
5353

@@ -85,5 +85,5 @@ for.body: ; preds = %for.body, %entry
8585
br i1 %exitcond, label %for.end, label %for.body
8686

8787
for.end: ; preds = %for.body
88-
ret i32 undef
88+
ret void
8989
}

llvm/test/Transforms/LoopVectorize/X86/unroll-pm.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ target triple = "x86_64-apple-macosx10.8.0"
1111
;CHECK-NOUNRL: store <4 x i32>
1212
;CHECK-NOUNRL-NOT: store <4 x i32>
1313
;CHECK-NOUNRL: ret
14-
define i32 @bar(ptr nocapture %A, i32 %n) nounwind uwtable ssp {
14+
define void @bar(ptr nocapture %A, i32 %n) nounwind uwtable ssp {
1515
%1 = icmp sgt i32 %n, 0
1616
br i1 %1, label %.lr.ph, label %._crit_edge
1717

@@ -27,5 +27,5 @@ define i32 @bar(ptr nocapture %A, i32 %n) nounwind uwtable ssp {
2727
br i1 %exitcond, label %._crit_edge, label %.lr.ph
2828

2929
._crit_edge: ; preds = %.lr.ph, %0
30-
ret i32 undef
30+
ret void
3131
}

llvm/test/Transforms/LoopVectorize/bsd_regex.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
88
; When scalarizing stores we need to preserve the original order.
99
; Make sure that we are extracting in the correct order (0101, and not 0011).
1010

11-
define i32 @foo(ptr nocapture %A) {
11+
define void @foo(ptr nocapture %A) {
1212
; CHECK-LABEL: @foo(
1313
; CHECK-NEXT: entry:
1414
; CHECK-NEXT: br label [[VECTOR_PH:%.*]]
@@ -39,7 +39,7 @@ define i32 @foo(ptr nocapture %A) {
3939
; CHECK: middle.block:
4040
; CHECK-NEXT: br label [[FOR_BODY:%.*]]
4141
; CHECK: for.end:
42-
; CHECK-NEXT: ret i32 undef
42+
; CHECK-NEXT: ret void
4343
;
4444
entry:
4545
br label %for.body
@@ -55,7 +55,7 @@ for.body:
5555
br i1 %exitcond, label %for.end, label %for.body
5656

5757
for.end:
58-
ret i32 undef
58+
ret void
5959
}
6060

6161

llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128"
55

6-
define i32 @foo(ptr nocapture %A, ptr nocapture %B, i32 %n) {
6+
define void @foo(ptr nocapture %A, ptr nocapture %B, i32 %n) {
77
; CHECK-LABEL: @foo(
88
; CHECK-NEXT: entry:
99
; CHECK-NEXT: [[CMP26:%.*]] = icmp sgt i32 [[N:%.*]], 0
@@ -73,7 +73,7 @@ define i32 @foo(ptr nocapture %A, ptr nocapture %B, i32 %n) {
7373
; CHECK: for.end.loopexit:
7474
; CHECK-NEXT: br label [[FOR_END]]
7575
; CHECK: for.end:
76-
; CHECK-NEXT: ret i32 undef
76+
; CHECK-NEXT: ret void
7777
;
7878
entry:
7979
%cmp26 = icmp sgt i32 %n, 0
@@ -106,11 +106,11 @@ if.end14:
106106
br i1 %exitcond, label %for.end, label %for.body
107107

108108
for.end:
109-
ret i32 undef
109+
ret void
110110
}
111111

112112
; As above but with multiple variables set per block.
113-
define i32 @multi_variable_if_nest(ptr nocapture %A, ptr nocapture %B, i32 %n) {
113+
define void @multi_variable_if_nest(ptr nocapture %A, ptr nocapture %B, i32 %n) {
114114
; CHECK-LABEL: @multi_variable_if_nest(
115115
; CHECK-NEXT: entry:
116116
; CHECK-NEXT: [[CMP26:%.*]] = icmp sgt i32 [[N:%.*]], 0
@@ -188,7 +188,7 @@ define i32 @multi_variable_if_nest(ptr nocapture %A, ptr nocapture %B, i32 %n) {
188188
; CHECK: for.end.loopexit:
189189
; CHECK-NEXT: br label [[FOR_END]]
190190
; CHECK: for.end:
191-
; CHECK-NEXT: ret i32 undef
191+
; CHECK-NEXT: ret void
192192
;
193193
entry:
194194
%cmp26 = icmp sgt i32 %n, 0
@@ -224,5 +224,5 @@ if.end14:
224224
br i1 %exitcond, label %for.end, label %for.body
225225

226226
for.end:
227-
ret i32 undef
227+
ret void
228228
}

llvm/test/Transforms/LoopVectorize/if-conversion.ll

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3
1717
; }
1818
;}
1919

20-
define i32 @function0(ptr nocapture %a, ptr nocapture %b, i32 %start, i32 %end) nounwind uwtable ssp {
21-
; CHECK-LABEL: define i32 @function0(
20+
define void @function0(ptr nocapture %a, ptr nocapture %b, i32 %start, i32 %end) nounwind uwtable ssp {
21+
; CHECK-LABEL: define void @function0(
2222
; CHECK-SAME: ptr captures(none) [[A:%.*]], ptr captures(none) [[B:%.*]], i32 [[START:%.*]], i32 [[END:%.*]]) #[[ATTR0:[0-9]+]] {
2323
; CHECK-NEXT: [[ENTRY:.*:]]
2424
; CHECK-NEXT: [[CMP16:%.*]] = icmp slt i32 [[START]], [[END]]
@@ -94,7 +94,7 @@ define i32 @function0(ptr nocapture %a, ptr nocapture %b, i32 %start, i32 %end)
9494
; CHECK: [[FOR_END_LOOPEXIT]]:
9595
; CHECK-NEXT: br label %[[FOR_END]]
9696
; CHECK: [[FOR_END]]:
97-
; CHECK-NEXT: ret i32 undef
97+
; CHECK-NEXT: ret void
9898
;
9999
entry:
100100
%cmp16 = icmp slt i32 %start, %end
@@ -127,7 +127,7 @@ if.end:
127127
br i1 %cmp, label %for.body, label %for.end
128128

129129
for.end:
130-
ret i32 undef
130+
ret void
131131
}
132132

133133

@@ -237,6 +237,8 @@ for.end: ; preds = %for.inc, %entry
237237
; Handle PHI with single incoming value having a full mask.
238238
; PR34523
239239

240+
; NOTE: Changing PHI inputs from undef to poison leads to change in
241+
; behaviour of the test. Left as undef for now.
240242
define void @PR34523() {
241243
; CHECK-LABEL: define void @PR34523() {
242244
; CHECK-NEXT: [[BB1:.*:]]

llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ for.end: ; preds = %for.body
337337
; }
338338
; }
339339

340-
define i32 @multiple_uniform_stores(ptr nocapture %var1, ptr nocapture readonly %var2, i32 %itr) #0 {
340+
define void @multiple_uniform_stores(ptr nocapture %var1, ptr nocapture readonly %var2, i32 %itr) #0 {
341341
; CHECK-LABEL: @multiple_uniform_stores(
342342
; CHECK-NEXT: entry:
343343
; CHECK-NEXT: [[CMP20:%.*]] = icmp eq i32 [[ITR:%.*]], 0
@@ -429,7 +429,7 @@ define i32 @multiple_uniform_stores(ptr nocapture %var1, ptr nocapture readonly
429429
; CHECK: for.end10.loopexit:
430430
; CHECK-NEXT: br label [[FOR_END10]]
431431
; CHECK: for.end10:
432-
; CHECK-NEXT: ret i32 undef
432+
; CHECK-NEXT: ret void
433433
;
434434
entry:
435435
%cmp20 = icmp eq i32 %itr, 0
@@ -469,12 +469,12 @@ for.inc8: ; preds = %for.body3, %for.con
469469
br i1 %exitcond26, label %for.end10, label %for.cond1.preheader
470470

471471
for.end10: ; preds = %for.inc8, %entry
472-
ret i32 undef
472+
ret void
473473
}
474474

475475
; second uniform store to the same address is conditional.
476476
; we do not vectorize this.
477-
define i32 @multiple_uniform_stores_conditional(ptr nocapture %var1, ptr nocapture readonly %var2, i32 %itr) #0 {
477+
define void @multiple_uniform_stores_conditional(ptr nocapture %var1, ptr nocapture readonly %var2, i32 %itr) #0 {
478478
; CHECK-LABEL: @multiple_uniform_stores_conditional(
479479
; CHECK-NEXT: entry:
480480
; CHECK-NEXT: [[CMP20:%.*]] = icmp eq i32 [[ITR:%.*]], 0
@@ -520,7 +520,7 @@ define i32 @multiple_uniform_stores_conditional(ptr nocapture %var1, ptr nocaptu
520520
; CHECK: for.end10.loopexit:
521521
; CHECK-NEXT: br label [[FOR_END10]]
522522
; CHECK: for.end10:
523-
; CHECK-NEXT: ret i32 undef
523+
; CHECK-NEXT: ret void
524524
;
525525
entry:
526526
%cmp20 = icmp eq i32 %itr, 0
@@ -567,7 +567,7 @@ for.inc8: ; preds = %for.body3, %for.con
567567
br i1 %exitcond26, label %for.end10, label %for.cond1.preheader
568568

569569
for.end10: ; preds = %for.inc8, %entry
570-
ret i32 undef
570+
ret void
571571
}
572572

573573
; cannot vectorize loop with unsafe dependency between uniform load (%i10) and store

0 commit comments

Comments
 (0)