Skip to content

Commit 6dc3239

Browse files
Add extra line to LoopAccessInfo::print when we generate some but not all checks
1 parent babdff1 commit 6dc3239

9 files changed

+40
-0
lines changed

llvm/lib/Analysis/LoopAccessAnalysis.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3001,6 +3001,8 @@ void LoopAccessInfo::print(raw_ostream &OS, unsigned Depth) const {
30013001

30023002
// List the pair of accesses need run-time checks to prove independence.
30033003
PtrRtChecking->print(OS, Depth);
3004+
if (PtrRtChecking->Need && !CanVecMem)
3005+
OS.indent(Depth) << "Generated run-time checks are incomplete\n";
30043006
OS << "\n";
30053007

30063008
OS.indent(Depth)

llvm/test/Analysis/LoopAccessAnalysis/forked-pointers.ll

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,7 @@ define dso_local void @forked_ptrs_same_base_different_offset(ptr nocapture read
645645
; CHECK-NEXT: Group [[GRP48]]:
646646
; CHECK-NEXT: (Low: %Preds High: (400 + %Preds))
647647
; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
648+
; CHECK-NEXT: Generated run-time checks are incomplete
648649
; CHECK-EMPTY:
649650
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
650651
; CHECK-NEXT: SCEV assumptions:
@@ -668,6 +669,7 @@ define dso_local void @forked_ptrs_same_base_different_offset(ptr nocapture read
668669
; RECURSE-NEXT: Group [[GRP50]]:
669670
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
670671
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
672+
; RECURSE-NEXT: Generated run-time checks are incomplete
671673
; RECURSE-EMPTY:
672674
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
673675
; RECURSE-NEXT: SCEV assumptions:
@@ -750,6 +752,7 @@ define dso_local void @forked_ptrs_add_to_offset(ptr nocapture readonly %Base, p
750752
; RECURSE-NEXT: Group [[GRP55]]:
751753
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
752754
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
755+
; RECURSE-NEXT: Generated run-time checks are incomplete
753756
; RECURSE-EMPTY:
754757
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
755758
; RECURSE-NEXT: SCEV assumptions:
@@ -829,6 +832,7 @@ define dso_local void @forked_ptrs_sub_from_offset(ptr nocapture readonly %Base,
829832
; RECURSE-NEXT: Group [[GRP60]]:
830833
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
831834
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
835+
; RECURSE-NEXT: Generated run-time checks are incomplete
832836
; RECURSE-EMPTY:
833837
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
834838
; RECURSE-NEXT: SCEV assumptions:
@@ -908,6 +912,7 @@ define dso_local void @forked_ptrs_add_sub_offset(ptr nocapture readonly %Base,
908912
; RECURSE-NEXT: Group [[GRP65]]:
909913
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
910914
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
915+
; RECURSE-NEXT: Generated run-time checks are incomplete
911916
; RECURSE-EMPTY:
912917
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
913918
; RECURSE-NEXT: SCEV assumptions:
@@ -957,6 +962,7 @@ define dso_local void @forked_ptrs_mul_by_offset(ptr nocapture readonly %Base, p
957962
; CHECK-NEXT: Group [[GRP67]]:
958963
; CHECK-NEXT: (Low: %Preds High: (400 + %Preds))
959964
; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
965+
; CHECK-NEXT: Generated run-time checks are incomplete
960966
; CHECK-EMPTY:
961967
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
962968
; CHECK-NEXT: SCEV assumptions:
@@ -980,6 +986,7 @@ define dso_local void @forked_ptrs_mul_by_offset(ptr nocapture readonly %Base, p
980986
; RECURSE-NEXT: Group [[GRP69]]:
981987
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
982988
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
989+
; RECURSE-NEXT: Generated run-time checks are incomplete
983990
; RECURSE-EMPTY:
984991
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
985992
; RECURSE-NEXT: SCEV assumptions:
@@ -1029,6 +1036,7 @@ define dso_local void @forked_ptrs_uniform_and_strided_forks(ptr nocapture reado
10291036
; CHECK-NEXT: Group [[GRP71]]:
10301037
; CHECK-NEXT: (Low: %Preds High: (400 + %Preds))
10311038
; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1039+
; CHECK-NEXT: Generated run-time checks are incomplete
10321040
; CHECK-EMPTY:
10331041
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
10341042
; CHECK-NEXT: SCEV assumptions:
@@ -1052,6 +1060,7 @@ define dso_local void @forked_ptrs_uniform_and_strided_forks(ptr nocapture reado
10521060
; RECURSE-NEXT: Group [[GRP73]]:
10531061
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
10541062
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1063+
; RECURSE-NEXT: Generated run-time checks are incomplete
10551064
; RECURSE-EMPTY:
10561065
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
10571066
; RECURSE-NEXT: SCEV assumptions:
@@ -1106,6 +1115,7 @@ define dso_local void @forked_ptrs_gather_and_contiguous_forks(ptr nocapture rea
11061115
; CHECK-NEXT: Group [[GRP75]]:
11071116
; CHECK-NEXT: (Low: %Preds High: (400 + %Preds))
11081117
; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1118+
; CHECK-NEXT: Generated run-time checks are incomplete
11091119
; CHECK-EMPTY:
11101120
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
11111121
; CHECK-NEXT: SCEV assumptions:
@@ -1129,6 +1139,7 @@ define dso_local void @forked_ptrs_gather_and_contiguous_forks(ptr nocapture rea
11291139
; RECURSE-NEXT: Group [[GRP77]]:
11301140
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
11311141
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1142+
; RECURSE-NEXT: Generated run-time checks are incomplete
11321143
; RECURSE-EMPTY:
11331144
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
11341145
; RECURSE-NEXT: SCEV assumptions:
@@ -1179,6 +1190,7 @@ define dso_local void @forked_ptrs_two_forks_gep(ptr nocapture readonly %Base1,
11791190
; CHECK-NEXT: Group [[GRP79]]:
11801191
; CHECK-NEXT: (Low: %Preds High: (400 + %Preds))
11811192
; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1193+
; CHECK-NEXT: Generated run-time checks are incomplete
11821194
; CHECK-EMPTY:
11831195
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
11841196
; CHECK-NEXT: SCEV assumptions:
@@ -1202,6 +1214,7 @@ define dso_local void @forked_ptrs_two_forks_gep(ptr nocapture readonly %Base1,
12021214
; RECURSE-NEXT: Group [[GRP81]]:
12031215
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
12041216
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1217+
; RECURSE-NEXT: Generated run-time checks are incomplete
12051218
; RECURSE-EMPTY:
12061219
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
12071220
; RECURSE-NEXT: SCEV assumptions:
@@ -1243,6 +1256,7 @@ define void @forked_ptrs_two_select(ptr nocapture readonly %Base1, ptr nocapture
12431256
; CHECK-NEXT: (Low: %Dest High: (400 + %Dest))
12441257
; CHECK-NEXT: Member: {%Dest,+,4}<nuw><%loop>
12451258
; CHECK-NEXT: Member: {%Dest,+,4}<nuw><%loop>
1259+
; CHECK-NEXT: Generated run-time checks are incomplete
12461260
; CHECK-EMPTY:
12471261
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
12481262
; CHECK-NEXT: SCEV assumptions:
@@ -1259,6 +1273,7 @@ define void @forked_ptrs_two_select(ptr nocapture readonly %Base1, ptr nocapture
12591273
; RECURSE-NEXT: (Low: %Dest High: (400 + %Dest))
12601274
; RECURSE-NEXT: Member: {%Dest,+,4}<nuw><%loop>
12611275
; RECURSE-NEXT: Member: {%Dest,+,4}<nuw><%loop>
1276+
; RECURSE-NEXT: Generated run-time checks are incomplete
12621277
; RECURSE-EMPTY:
12631278
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
12641279
; RECURSE-NEXT: SCEV assumptions:
@@ -1309,6 +1324,7 @@ define void @forked_ptrs_too_many_gep_ops(ptr nocapture readonly %Base1, ptr noc
13091324
; CHECK-NEXT: Group [[GRP85]]:
13101325
; CHECK-NEXT: (Low: %Preds High: (400 + %Preds))
13111326
; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1327+
; CHECK-NEXT: Generated run-time checks are incomplete
13121328
; CHECK-EMPTY:
13131329
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
13141330
; CHECK-NEXT: SCEV assumptions:
@@ -1332,6 +1348,7 @@ define void @forked_ptrs_too_many_gep_ops(ptr nocapture readonly %Base1, ptr noc
13321348
; RECURSE-NEXT: Group [[GRP87]]:
13331349
; RECURSE-NEXT: (Low: %Preds High: (400 + %Preds))
13341350
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1351+
; RECURSE-NEXT: Generated run-time checks are incomplete
13351352
; RECURSE-EMPTY:
13361353
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
13371354
; RECURSE-NEXT: SCEV assumptions:
@@ -1379,6 +1396,7 @@ define void @forked_ptrs_vector_gep(ptr nocapture readonly %Base1, ptr nocapture
13791396
; CHECK-NEXT: Group [[GRP89]]:
13801397
; CHECK-NEXT: (Low: %Preds High: (388 + %Preds))
13811398
; CHECK-NEXT: Member: {%Preds,+,16}<nuw><%for.body>
1399+
; CHECK-NEXT: Generated run-time checks are incomplete
13821400
; CHECK-EMPTY:
13831401
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
13841402
; CHECK-NEXT: SCEV assumptions:
@@ -1402,6 +1420,7 @@ define void @forked_ptrs_vector_gep(ptr nocapture readonly %Base1, ptr nocapture
14021420
; RECURSE-NEXT: Group [[GRP91]]:
14031421
; RECURSE-NEXT: (Low: %Preds High: (388 + %Preds))
14041422
; RECURSE-NEXT: Member: {%Preds,+,16}<nuw><%for.body>
1423+
; RECURSE-NEXT: Generated run-time checks are incomplete
14051424
; RECURSE-EMPTY:
14061425
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
14071426
; RECURSE-NEXT: SCEV assumptions:
@@ -1650,6 +1669,7 @@ define void @forked_ptrs_with_different_base3(ptr nocapture readonly %Preds, ptr
16501669
; CHECK-NEXT: Group [[GRP104:0x[0-9a-f]+]]:
16511670
; CHECK-NEXT: (Low: %Preds High: (31996 + %Preds))
16521671
; CHECK-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1672+
; CHECK-NEXT: Generated run-time checks are incomplete
16531673
; CHECK-EMPTY:
16541674
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
16551675
; CHECK-NEXT: SCEV assumptions:
@@ -1665,6 +1685,7 @@ define void @forked_ptrs_with_different_base3(ptr nocapture readonly %Preds, ptr
16651685
; RECURSE-NEXT: Group [[GRP105:0x[0-9a-f]+]]:
16661686
; RECURSE-NEXT: (Low: %Preds High: (31996 + %Preds))
16671687
; RECURSE-NEXT: Member: {%Preds,+,4}<nuw><%for.body>
1688+
; RECURSE-NEXT: Generated run-time checks are incomplete
16681689
; RECURSE-EMPTY:
16691690
; RECURSE-NEXT: Non vectorizable stores to invariant address were not found in loop.
16701691
; RECURSE-NEXT: SCEV assumptions:

llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-backward.ll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ define void @different_non_constant_strides_known_backward_via_assume(ptr %A, i6
240240
; CHECK-NEXT: Group [[GRP1:0x[0-9a-f]+]]:
241241
; CHECK-NEXT: (Low: %A High: (1024 + %A))
242242
; CHECK-NEXT: Member: {%A,+,4}<nuw><%loop>
243+
; CHECK-NEXT: Generated run-time checks are incomplete
243244
; CHECK-EMPTY:
244245
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
245246
; CHECK-NEXT: SCEV assumptions:
@@ -277,6 +278,7 @@ define void @different_non_constant_strides_known_backward_via_assume_distance_l
277278
; CHECK-NEXT: Group [[GRP2:0x[0-9a-f]+]]:
278279
; CHECK-NEXT: (Low: %A High: (1024 + %A)<nuw>)
279280
; CHECK-NEXT: Member: {%A,+,4}<nuw><%loop>
281+
; CHECK-NEXT: Generated run-time checks are incomplete
280282
; CHECK-EMPTY:
281283
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
282284
; CHECK-NEXT: SCEV assumptions:
@@ -315,6 +317,7 @@ define void @different_non_constant_strides_known_backward_via_assume_min_distan
315317
; CHECK-NEXT: Group [[GRP3:0x[0-9a-f]+]]:
316318
; CHECK-NEXT: (Low: %A High: (1024 + %A))
317319
; CHECK-NEXT: Member: {%A,+,4}<nuw><%loop>
320+
; CHECK-NEXT: Generated run-time checks are incomplete
318321
; CHECK-EMPTY:
319322
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
320323
; CHECK-NEXT: SCEV assumptions:
@@ -353,6 +356,7 @@ define void @different_non_constant_strides_not_known_backward(ptr %A, i64 %scal
353356
; CHECK-NEXT: Group [[GRP4:0x[0-9a-f]+]]:
354357
; CHECK-NEXT: (Low: %A High: (1024 + %A))
355358
; CHECK-NEXT: Member: {%A,+,4}<nuw><%loop>
359+
; CHECK-NEXT: Generated run-time checks are incomplete
356360
; CHECK-EMPTY:
357361
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
358362
; CHECK-NEXT: SCEV assumptions:

llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ define void @different_non_constant_strides_known_forward_via_assume(ptr %A, i64
8888
; CHECK-NEXT: Group [[GRP1:0x[0-9a-f]+]]:
8989
; CHECK-NEXT: (Low: %A High: (1024 + %A))
9090
; CHECK-NEXT: Member: {%A,+,4}<nuw><%loop>
91+
; CHECK-NEXT: Generated run-time checks are incomplete
9192
; CHECK-EMPTY:
9293
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
9394
; CHECK-NEXT: SCEV assumptions:
@@ -125,6 +126,7 @@ define void @different_non_constant_strides_known_forward_via_assume_min_distanc
125126
; CHECK-NEXT: Group [[GRP2:0x[0-9a-f]+]]:
126127
; CHECK-NEXT: (Low: %A High: (1024 + %A))
127128
; CHECK-NEXT: Member: {%A,+,4}<nuw><%loop>
129+
; CHECK-NEXT: Generated run-time checks are incomplete
128130
; CHECK-EMPTY:
129131
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
130132
; CHECK-NEXT: SCEV assumptions:
@@ -163,6 +165,7 @@ define void @different_non_constant_strides_not_known_forward(ptr %A, i64 %scale
163165
; CHECK-NEXT: Group [[GRP3:0x[0-9a-f]+]]:
164166
; CHECK-NEXT: (Low: %A High: (1024 + %A))
165167
; CHECK-NEXT: Member: {%A,+,4}<nuw><%loop>
168+
; CHECK-NEXT: Generated run-time checks are incomplete
166169
; CHECK-EMPTY:
167170
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
168171
; CHECK-NEXT: SCEV assumptions:

llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ define void @int_and_multiple_pointer_predicates(ptr %v, ptr %w, i32 %N) {
9595
; CHECK-NEXT: Group [[GRP5]]:
9696
; CHECK-NEXT: (Low: %w High: (6 + (4 * (trunc i32 %N to i16)) + %w))
9797
; CHECK-NEXT: Member: {%w,+,4}<%loop>
98+
; CHECK-NEXT: Generated run-time checks are incomplete
9899
; CHECK-EMPTY:
99100
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
100101
; CHECK-NEXT: SCEV assumptions:

llvm/test/Analysis/LoopAccessAnalysis/pointer-phis.ll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ define i32 @store_with_pointer_phi_incoming_phi(ptr %A, ptr %B, ptr %C, i1 %c.0,
287287
; CHECK-NEXT: (Low: %A High: (256000 + %A))
288288
; CHECK-NEXT: Member: {%A,+,8}<nuw><%loop.header>
289289
; CHECK-NEXT: Member: %A
290+
; CHECK-NEXT: Generated run-time checks are incomplete
290291
; CHECK-EMPTY:
291292
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
292293
; CHECK-NEXT: SCEV assumptions:
@@ -370,6 +371,7 @@ define i32 @store_with_pointer_phi_incoming_phi_irreducible_cycle(ptr %A, ptr %B
370371
; CHECK-NEXT: (Low: %A High: (256000 + %A))
371372
; CHECK-NEXT: Member: {%A,+,8}<nuw><%loop.header>
372373
; CHECK-NEXT: Member: %A
374+
; CHECK-NEXT: Generated run-time checks are incomplete
373375
; CHECK-EMPTY:
374376
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
375377
; CHECK-NEXT: SCEV assumptions:
@@ -465,6 +467,7 @@ define i32 @store_with_pointer_phi_in_same_bb_use_other_phi(ptr %A, ptr %B, ptr
465467
; CHECK-NEXT: Group [[GRP10:0x[0-9a-f]+]]:
466468
; CHECK-NEXT: (Low: %A High: (256000 + %A))
467469
; CHECK-NEXT: Member: {%A,+,8}<nuw><%loop.header>
470+
; CHECK-NEXT: Generated run-time checks are incomplete
468471
; CHECK-EMPTY:
469472
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
470473
; CHECK-NEXT: SCEV assumptions:
@@ -539,6 +542,7 @@ define void @phi_load_store_memdep_check(i1 %c, ptr %A, ptr %B, ptr %C) {
539542
; CHECK-NEXT: (Low: %B High: (2 + %B))
540543
; CHECK-NEXT: Member: %B
541544
; CHECK-NEXT: Member: %B
545+
; CHECK-NEXT: Generated run-time checks are incomplete
542546
; CHECK-EMPTY:
543547
; CHECK-NEXT: Non vectorizable stores to invariant address were found in loop.
544548
; CHECK-NEXT: SCEV assumptions:

llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ define void @dependency_check_and_runtime_checks_needed_select_of_ptr_add_recs_m
174174
; CHECK-NEXT: (Low: %a High: ((4 * %n) + %a))
175175
; CHECK-NEXT: Member: {%a,+,4}<nuw><%loop>
176176
; CHECK-NEXT: Member: {%a,+,4}<nuw><%loop>
177+
; CHECK-NEXT: Generated run-time checks are incomplete
177178
; CHECK-EMPTY:
178179
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
179180
; CHECK-NEXT: SCEV assumptions:
@@ -222,6 +223,7 @@ define void @dependency_check_and_runtime_checks_needed_select_of_ptr_add_recs_m
222223
; CHECK-NEXT: (Low: %a High: ((4 * %n) + %a))
223224
; CHECK-NEXT: Member: {%a,+,4}<nuw><%loop>
224225
; CHECK-NEXT: Member: {%a,+,4}<nuw><%loop>
226+
; CHECK-NEXT: Generated run-time checks are incomplete
225227
; CHECK-EMPTY:
226228
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
227229
; CHECK-NEXT: SCEV assumptions:

llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ define void @indirect_ptr_recurrences_read_write_may_alias_no_tbaa(ptr %A, ptr %
8383
; CHECK-NEXT: Group [[GRP1:0x[0-9a-f]+]]:
8484
; CHECK-NEXT: (Low: (8 + %B)<nuw> High: (40 + %B))
8585
; CHECK-NEXT: Member: {(8 + %B)<nuw>,+,8}<nuw><%loop>
86+
; CHECK-NEXT: Generated run-time checks are incomplete
8687
; CHECK-EMPTY:
8788
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
8889
; CHECK-NEXT: SCEV assumptions:
@@ -126,6 +127,7 @@ define void @indirect_ptr_recurrences_read_write_may_alias_different_obj(ptr %A,
126127
; CHECK-NEXT: Group [[GRP3]]:
127128
; CHECK-NEXT: (Low: (8 + %B)<nuw> High: (40 + %B))
128129
; CHECK-NEXT: Member: {(8 + %B)<nuw>,+,8}<nuw><%loop>
130+
; CHECK-NEXT: Generated run-time checks are incomplete
129131
; CHECK-EMPTY:
130132
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
131133
; CHECK-NEXT: SCEV assumptions:

llvm/test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks-convergent.ll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ define void @rtchecks_needed(ptr %a, ptr %b, ptr %c) {
4040
; CHECK-NEXT: Group [[GRP3]]:
4141
; CHECK-NEXT: (Low: %c High: (40 + %c))
4242
; CHECK-NEXT: Member: {%c,+,2}<nuw><%for.body>
43+
; CHECK-NEXT: Generated run-time checks are incomplete
4344
; CHECK-EMPTY:
4445
; CHECK-NEXT: Non vectorizable stores to invariant address were not found in loop.
4546
; CHECK-NEXT: SCEV assumptions:

0 commit comments

Comments
 (0)