Skip to content

Commit 3449303

Browse files
authored
LDist/test: clean up and modernize (NFC) (#97822)
Clean up unused triple/datalayout lines, strengthen RUN lines to include -verify-loop-info/-verify-dom-info, and regenerate tests with UpdateTestChecks where appropriate.
1 parent 9315645 commit 3449303

19 files changed

+395
-193
lines changed

llvm/test/Transforms/LoopDistribute/basic.ll

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,8 @@
1515
; C[i] = D[i] * E[i];
1616
; }
1717

18-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
19-
target triple = "x86_64-apple-macosx10.10.0"
20-
2118
; CHECK-LABEL: @f(
22-
define void @f(ptr noalias %a,
23-
ptr noalias %b,
24-
ptr noalias %c,
25-
ptr noalias %d,
26-
ptr noalias %e) {
19+
define void @f(ptr noalias %a, ptr noalias %b, ptr noalias %c, ptr noalias %d, ptr noalias %e) {
2720
entry:
2821
br label %for.body
2922

@@ -88,11 +81,7 @@ declare i32 @llvm.convergent(i32) #0
8881
; It is OK to distribute with a convergent operation, since in each
8982
; new loop the convergent operation has the ssame control dependency.
9083
; CHECK-LABEL: @f_with_convergent(
91-
define void @f_with_convergent(ptr noalias %a,
92-
ptr noalias %b,
93-
ptr noalias %c,
94-
ptr noalias %d,
95-
ptr noalias %e) {
84+
define void @f_with_convergent(ptr noalias %a, ptr noalias %b, ptr noalias %c, ptr noalias %d, ptr noalias %e) {
9685
entry:
9786
br label %for.body
9887

llvm/test/Transforms/LoopDistribute/bounds-expansion-bug.ll

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,7 @@
1414
; can get earlier expanded values invalidated when casts are used. This test
1515
; ensure that we are not using the invalidated values.
1616

17-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
18-
19-
define void @f(ptr %a1, ptr %a2,
20-
ptr %b,
21-
ptr %c1, ptr %c2,
22-
ptr %d,
23-
ptr %e) {
17+
define void @f(ptr %a1, ptr %a2, ptr %b, ptr %c1, ptr %c2, ptr %d, ptr %e) {
2418
entry:
2519

2620
%cond = icmp eq ptr %e, null

llvm/test/Transforms/LoopDistribute/crash-in-memcheck-generation.ll

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,12 @@
1111
; C[i] = D[i] * E[i];
1212
; }
1313

14-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
15-
target triple = "x86_64-apple-macosx10.10.0"
16-
17-
define void @f(ptr %a,
18-
ptr %b,
19-
ptr noalias %c,
20-
ptr noalias %d,
21-
ptr noalias %e) {
22-
entry:
23-
br label %for.body
24-
14+
define void @f(ptr %a, ptr %b, ptr noalias %c, ptr noalias %d, ptr noalias %e) {
15+
; CHECK-LABEL: @f(
2516
; CHECK-NOT: memcheck:
2617
; CHECK: mul <4 x i32>
18+
entry:
19+
br label %for.body
2720

2821
for.body: ; preds = %for.body, %entry
2922
%ind = phi i64 [ 0, %entry ], [ %add, %for.body ]

llvm/test/Transforms/LoopDistribute/diagnostics-with-hotness.ll

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,6 @@
2121
; 5 }
2222
; 6 }
2323

24-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
25-
target triple = "x86_64-apple-macosx10.11.0"
26-
2724
; HOTNESS: remark: /tmp/t.c:3:3: loop not distributed: use -Rpass-analysis=loop-distribute for more info (hotness: 300)
2825
; HOTNESS: remark: /tmp/t.c:3:3: loop not distributed: memory operations are safe for vectorization (hotness: 300)
2926
; NO_HOTNESS: remark: /tmp/t.c:3:3: loop not distributed: use -Rpass-analysis=loop-distribute for more info{{$}}

llvm/test/Transforms/LoopDistribute/diagnostics.ll

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@
3232
; 18 }
3333
; 19 }
3434

35-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
36-
target triple = "x86_64-apple-macosx10.11.0"
37-
3835
; MISSED_REMARKS: remark: /tmp/t.c:3:3: loop not distributed: use -Rpass-analysis=loop-distribute for more info
3936
; ALWAYS: remark: /tmp/t.c:3:3: loop not distributed: memory operations are safe for vectorization
4037
; ALWAYS: warning: /tmp/t.c:3:3: loop not distributed: failed explicitly specified loop distribution

llvm/test/Transforms/LoopDistribute/disable_nonforced.ll

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,11 @@
1-
; RUN: opt -passes=loop-distribute -enable-loop-distribute=1 -S < %s | FileCheck %s
1+
; RUN: opt -passes=loop-distribute -enable-loop-distribute -verify-loop-info -verify-dom-info -S < %s | FileCheck %s
22
;
33
; Check that the disable_nonforced is honored by loop distribution.
44
;
5-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
65

6+
define void @disable_nonforced(ptr noalias %a, ptr noalias %b, ptr noalias %c, ptr noalias %d, ptr noalias %e) {
77
; CHECK-LABEL: @disable_nonforced(
88
; CHECK-NOT: for.body.ldist1:
9-
define void @disable_nonforced(ptr noalias %a,
10-
ptr noalias %b,
11-
ptr noalias %c,
12-
ptr noalias %d,
13-
ptr noalias %e) {
149
entry:
1510
br label %for.body
1611

llvm/test/Transforms/LoopDistribute/disable_nonforced_enable.ll

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
1-
; RUN: opt -passes=loop-distribute -S < %s | FileCheck %s
1+
; RUN: opt -passes=loop-distribute -verify-loop-info -verify-dom-info -S < %s | FileCheck %s
22
;
33
; Check that llvm.loop.distribute.enable overrides
44
; llvm.loop.disable_nonforced.
55
;
6-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
76

7+
define void @disable_nonforced(ptr noalias %a, ptr noalias %b, ptr noalias %c, ptr noalias %d, ptr noalias %e) {
88
; CHECK-LABEL: @disable_nonforced(
99
; CHECK: for.body.ldist1:
10-
define void @disable_nonforced(ptr noalias %a,
11-
ptr noalias %b,
12-
ptr noalias %c,
13-
ptr noalias %d,
14-
ptr noalias %e) {
1510
entry:
1611
br label %for.body
1712

llvm/test/Transforms/LoopDistribute/early-exit.ll

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2-
; REQUIRES: x86-registered-target
32
; RUN: opt -aa-pipeline=basic-aa -passes=loop-distribute -enable-loop-distribute -verify-loop-info -verify-dom-info -S %s | FileCheck %s
43

5-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
6-
target triple = "x86_64-apple-macosx10.10.0"
7-
84
@B = common global ptr null, align 8
95
@A = common global ptr null, align 8
106
@C = common global ptr null, align 8

llvm/test/Transforms/LoopDistribute/followup.ll

Lines changed: 105 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,93 @@
1-
; RUN: opt -passes=loop-distribute -S < %s | FileCheck %s
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
2+
; RUN: opt -passes=loop-distribute -verify-loop-info -verify-dom-info -S < %s | FileCheck %s
23
;
34
; Check that followup loop-attributes are applied to the loops after
45
; loop distribution.
56
;
6-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
77

88
define void @f(ptr %a, ptr %b, ptr %c, ptr %d, ptr %e) {
9+
; CHECK-LABEL: define void @f(
10+
; CHECK-SAME: ptr [[A:%.*]], ptr [[B:%.*]], ptr [[C:%.*]], ptr [[D:%.*]], ptr [[E:%.*]]) {
11+
; CHECK-NEXT: [[ENTRY:.*:]]
12+
; CHECK-NEXT: br label %[[FOR_BODY_LVER_CHECK:.*]]
13+
; CHECK: [[FOR_BODY_LVER_CHECK]]:
14+
; CHECK-NEXT: [[SCEVGEP:%.*]] = getelementptr i8, ptr [[A]], i64 84
15+
; CHECK-NEXT: [[SCEVGEP1:%.*]] = getelementptr i8, ptr [[C]], i64 80
16+
; CHECK-NEXT: [[SCEVGEP2:%.*]] = getelementptr i8, ptr [[D]], i64 80
17+
; CHECK-NEXT: [[SCEVGEP3:%.*]] = getelementptr i8, ptr [[E]], i64 80
18+
; CHECK-NEXT: [[SCEVGEP4:%.*]] = getelementptr i8, ptr [[B]], i64 80
19+
; CHECK-NEXT: [[BOUND0:%.*]] = icmp ult ptr [[A]], [[SCEVGEP1]]
20+
; CHECK-NEXT: [[BOUND1:%.*]] = icmp ult ptr [[C]], [[SCEVGEP]]
21+
; CHECK-NEXT: [[FOUND_CONFLICT:%.*]] = and i1 [[BOUND0]], [[BOUND1]]
22+
; CHECK-NEXT: [[BOUND05:%.*]] = icmp ult ptr [[A]], [[SCEVGEP2]]
23+
; CHECK-NEXT: [[BOUND16:%.*]] = icmp ult ptr [[D]], [[SCEVGEP]]
24+
; CHECK-NEXT: [[FOUND_CONFLICT7:%.*]] = and i1 [[BOUND05]], [[BOUND16]]
25+
; CHECK-NEXT: [[CONFLICT_RDX:%.*]] = or i1 [[FOUND_CONFLICT]], [[FOUND_CONFLICT7]]
26+
; CHECK-NEXT: [[BOUND08:%.*]] = icmp ult ptr [[A]], [[SCEVGEP3]]
27+
; CHECK-NEXT: [[BOUND19:%.*]] = icmp ult ptr [[E]], [[SCEVGEP]]
28+
; CHECK-NEXT: [[FOUND_CONFLICT10:%.*]] = and i1 [[BOUND08]], [[BOUND19]]
29+
; CHECK-NEXT: [[CONFLICT_RDX11:%.*]] = or i1 [[CONFLICT_RDX]], [[FOUND_CONFLICT10]]
30+
; CHECK-NEXT: [[BOUND012:%.*]] = icmp ult ptr [[C]], [[SCEVGEP4]]
31+
; CHECK-NEXT: [[BOUND113:%.*]] = icmp ult ptr [[B]], [[SCEVGEP1]]
32+
; CHECK-NEXT: [[FOUND_CONFLICT14:%.*]] = and i1 [[BOUND012]], [[BOUND113]]
33+
; CHECK-NEXT: [[CONFLICT_RDX15:%.*]] = or i1 [[CONFLICT_RDX11]], [[FOUND_CONFLICT14]]
34+
; CHECK-NEXT: br i1 [[CONFLICT_RDX15]], label %[[FOR_BODY_PH_LVER_ORIG:.*]], label %[[FOR_BODY_PH_LDIST1:.*]]
35+
; CHECK: [[FOR_BODY_PH_LVER_ORIG]]:
36+
; CHECK-NEXT: br label %[[FOR_BODY_LVER_ORIG:.*]]
37+
; CHECK: [[FOR_BODY_LVER_ORIG]]:
38+
; CHECK-NEXT: [[IND_LVER_ORIG:%.*]] = phi i64 [ 0, %[[FOR_BODY_PH_LVER_ORIG]] ], [ [[ADD_LVER_ORIG:%.*]], %[[FOR_BODY_LVER_ORIG]] ]
39+
; CHECK-NEXT: [[ARRAYIDXA_LVER_ORIG:%.*]] = getelementptr inbounds i32, ptr [[A]], i64 [[IND_LVER_ORIG]]
40+
; CHECK-NEXT: [[LOADA_LVER_ORIG:%.*]] = load i32, ptr [[ARRAYIDXA_LVER_ORIG]], align 4
41+
; CHECK-NEXT: [[ARRAYIDXB_LVER_ORIG:%.*]] = getelementptr inbounds i32, ptr [[B]], i64 [[IND_LVER_ORIG]]
42+
; CHECK-NEXT: [[LOADB_LVER_ORIG:%.*]] = load i32, ptr [[ARRAYIDXB_LVER_ORIG]], align 4
43+
; CHECK-NEXT: [[MULA_LVER_ORIG:%.*]] = mul i32 [[LOADB_LVER_ORIG]], [[LOADA_LVER_ORIG]]
44+
; CHECK-NEXT: [[ADD_LVER_ORIG]] = add nuw nsw i64 [[IND_LVER_ORIG]], 1
45+
; CHECK-NEXT: [[ARRAYIDXA_PLUS_4_LVER_ORIG:%.*]] = getelementptr inbounds i32, ptr [[A]], i64 [[ADD_LVER_ORIG]]
46+
; CHECK-NEXT: store i32 [[MULA_LVER_ORIG]], ptr [[ARRAYIDXA_PLUS_4_LVER_ORIG]], align 4
47+
; CHECK-NEXT: [[ARRAYIDXD_LVER_ORIG:%.*]] = getelementptr inbounds i32, ptr [[D]], i64 [[IND_LVER_ORIG]]
48+
; CHECK-NEXT: [[LOADD_LVER_ORIG:%.*]] = load i32, ptr [[ARRAYIDXD_LVER_ORIG]], align 4
49+
; CHECK-NEXT: [[ARRAYIDXE_LVER_ORIG:%.*]] = getelementptr inbounds i32, ptr [[E]], i64 [[IND_LVER_ORIG]]
50+
; CHECK-NEXT: [[LOADE_LVER_ORIG:%.*]] = load i32, ptr [[ARRAYIDXE_LVER_ORIG]], align 4
51+
; CHECK-NEXT: [[MULC_LVER_ORIG:%.*]] = mul i32 [[LOADD_LVER_ORIG]], [[LOADE_LVER_ORIG]]
52+
; CHECK-NEXT: [[ARRAYIDXC_LVER_ORIG:%.*]] = getelementptr inbounds i32, ptr [[C]], i64 [[IND_LVER_ORIG]]
53+
; CHECK-NEXT: store i32 [[MULC_LVER_ORIG]], ptr [[ARRAYIDXC_LVER_ORIG]], align 4
54+
; CHECK-NEXT: [[EXITCOND_LVER_ORIG:%.*]] = icmp eq i64 [[ADD_LVER_ORIG]], 20
55+
; CHECK-NEXT: br i1 [[EXITCOND_LVER_ORIG]], label %[[FOR_END_LOOPEXIT:.*]], label %[[FOR_BODY_LVER_ORIG]], !llvm.loop [[LOOP0:![0-9]+]]
56+
; CHECK: [[FOR_BODY_PH_LDIST1]]:
57+
; CHECK-NEXT: br label %[[FOR_BODY_LDIST1:.*]]
58+
; CHECK: [[FOR_BODY_LDIST1]]:
59+
; CHECK-NEXT: [[IND_LDIST1:%.*]] = phi i64 [ 0, %[[FOR_BODY_PH_LDIST1]] ], [ [[ADD_LDIST1:%.*]], %[[FOR_BODY_LDIST1]] ]
60+
; CHECK-NEXT: [[ARRAYIDXA_LDIST1:%.*]] = getelementptr inbounds i32, ptr [[A]], i64 [[IND_LDIST1]]
61+
; CHECK-NEXT: [[LOADA_LDIST1:%.*]] = load i32, ptr [[ARRAYIDXA_LDIST1]], align 4, !alias.scope [[META3:![0-9]+]], !noalias [[META6:![0-9]+]]
62+
; CHECK-NEXT: [[ARRAYIDXB_LDIST1:%.*]] = getelementptr inbounds i32, ptr [[B]], i64 [[IND_LDIST1]]
63+
; CHECK-NEXT: [[LOADB_LDIST1:%.*]] = load i32, ptr [[ARRAYIDXB_LDIST1]], align 4, !alias.scope [[META10:![0-9]+]]
64+
; CHECK-NEXT: [[MULA_LDIST1:%.*]] = mul i32 [[LOADB_LDIST1]], [[LOADA_LDIST1]]
65+
; CHECK-NEXT: [[ADD_LDIST1]] = add nuw nsw i64 [[IND_LDIST1]], 1
66+
; CHECK-NEXT: [[ARRAYIDXA_PLUS_4_LDIST1:%.*]] = getelementptr inbounds i32, ptr [[A]], i64 [[ADD_LDIST1]]
67+
; CHECK-NEXT: store i32 [[MULA_LDIST1]], ptr [[ARRAYIDXA_PLUS_4_LDIST1]], align 4, !alias.scope [[META3]], !noalias [[META6]]
68+
; CHECK-NEXT: [[EXITCOND_LDIST1:%.*]] = icmp eq i64 [[ADD_LDIST1]], 20
69+
; CHECK-NEXT: br i1 [[EXITCOND_LDIST1]], label %[[FOR_BODY_PH:.*]], label %[[FOR_BODY_LDIST1]], !llvm.loop [[LOOP12:![0-9]+]]
70+
; CHECK: [[FOR_BODY_PH]]:
71+
; CHECK-NEXT: br label %[[FOR_BODY:.*]]
72+
; CHECK: [[FOR_BODY]]:
73+
; CHECK-NEXT: [[IND:%.*]] = phi i64 [ 0, %[[FOR_BODY_PH]] ], [ [[ADD:%.*]], %[[FOR_BODY]] ]
74+
; CHECK-NEXT: [[ADD]] = add nuw nsw i64 [[IND]], 1
75+
; CHECK-NEXT: [[ARRAYIDXD:%.*]] = getelementptr inbounds i32, ptr [[D]], i64 [[IND]]
76+
; CHECK-NEXT: [[LOADD:%.*]] = load i32, ptr [[ARRAYIDXD]], align 4, !alias.scope [[META14:![0-9]+]]
77+
; CHECK-NEXT: [[ARRAYIDXE:%.*]] = getelementptr inbounds i32, ptr [[E]], i64 [[IND]]
78+
; CHECK-NEXT: [[LOADE:%.*]] = load i32, ptr [[ARRAYIDXE]], align 4, !alias.scope [[META15:![0-9]+]]
79+
; CHECK-NEXT: [[MULC:%.*]] = mul i32 [[LOADD]], [[LOADE]]
80+
; CHECK-NEXT: [[ARRAYIDXC:%.*]] = getelementptr inbounds i32, ptr [[C]], i64 [[IND]]
81+
; CHECK-NEXT: store i32 [[MULC]], ptr [[ARRAYIDXC]], align 4, !alias.scope [[META16:![0-9]+]], !noalias [[META10]]
82+
; CHECK-NEXT: [[EXITCOND:%.*]] = icmp eq i64 [[ADD]], 20
83+
; CHECK-NEXT: br i1 [[EXITCOND]], label %[[FOR_END_LOOPEXIT16:.*]], label %[[FOR_BODY]], !llvm.loop [[LOOP17:![0-9]+]]
84+
; CHECK: [[FOR_END_LOOPEXIT]]:
85+
; CHECK-NEXT: br label %[[FOR_END:.*]]
86+
; CHECK: [[FOR_END_LOOPEXIT16]]:
87+
; CHECK-NEXT: br label %[[FOR_END]]
88+
; CHECK: [[FOR_END]]:
89+
; CHECK-NEXT: ret void
90+
;
991
entry:
1092
br label %for.body
1193

@@ -48,23 +130,24 @@ for.end:
48130
!3 = !{!"llvm.loop.distribute.followup_coincident", !{!"FollowupCoincident", i1 false}}
49131
!4 = !{!"llvm.loop.distribute.followup_sequential", !{!"FollowupSequential", i32 8}}
50132
!5 = !{!"llvm.loop.distribute.followup_fallback", !{!"FollowupFallback"}}
51-
52-
53-
; CHECK-LABEL: for.body.lver.orig:
54-
; CHECK: br i1 %exitcond.lver.orig, label %for.end.loopexit, label %for.body.lver.orig, !llvm.loop ![[LOOP_ORIG:[0-9]+]]
55-
; CHECK-LABEL: for.body.ldist1:
56-
; CHECK: br i1 %exitcond.ldist1, label %for.body.ph, label %for.body.ldist1, !llvm.loop ![[LOOP_SEQUENTIAL:[0-9]+]]
57-
; CHECK-LABEL: for.body:
58-
; CHECK: br i1 %exitcond, label %for.end.loopexit16, label %for.body, !llvm.loop ![[LOOP_COINCIDENT:[0-9]+]]
59-
; CHECK-LABEL: for.end.loopexit:
60-
; CHECK: br label %for.end
61-
; CHECK-LABEL: for.end.loopexit16:
62-
; CHECK: br label %for.end
63-
64-
; CHECK: ![[LOOP_ORIG]] = distinct !{![[LOOP_ORIG]], ![[FOLLOWUP_ALL:[0-9]+]], ![[FOLLOUP_FALLBACK:[0-9]+]]}
65-
; CHECK: ![[FOLLOWUP_ALL]] = !{!"FollowupAll"}
66-
; CHECK: ![[FOLLOUP_FALLBACK]] = !{!"FollowupFallback"}
67-
; CHECK: ![[LOOP_SEQUENTIAL]] = distinct !{![[LOOP_SEQUENTIAL]], ![[FOLLOWUP_ALL]], ![[FOLLOWUP_SEQUENTIAL:[0-9]+]]}
68-
; CHECK: ![[FOLLOWUP_SEQUENTIAL]] = !{!"FollowupSequential", i32 8}
69-
; CHECK: ![[LOOP_COINCIDENT]] = distinct !{![[LOOP_COINCIDENT]], ![[FOLLOWUP_ALL]], ![[FOLLOWUP_COINCIDENT:[0-9]+]]}
70-
; CHECK: ![[FOLLOWUP_COINCIDENT]] = !{!"FollowupCoincident", i1 false}
133+
;.
134+
; CHECK: [[LOOP0]] = distinct !{[[LOOP0]], [[META1:![0-9]+]], [[META2:![0-9]+]]}
135+
; CHECK: [[META1]] = !{!"FollowupAll"}
136+
; CHECK: [[META2]] = !{!"FollowupFallback"}
137+
; CHECK: [[META3]] = !{[[META4:![0-9]+]]}
138+
; CHECK: [[META4]] = distinct !{[[META4]], [[META5:![0-9]+]]}
139+
; CHECK: [[META5]] = distinct !{[[META5]], !"LVerDomain"}
140+
; CHECK: [[META6]] = !{[[META7:![0-9]+]], [[META8:![0-9]+]], [[META9:![0-9]+]]}
141+
; CHECK: [[META7]] = distinct !{[[META7]], [[META5]]}
142+
; CHECK: [[META8]] = distinct !{[[META8]], [[META5]]}
143+
; CHECK: [[META9]] = distinct !{[[META9]], [[META5]]}
144+
; CHECK: [[META10]] = !{[[META11:![0-9]+]]}
145+
; CHECK: [[META11]] = distinct !{[[META11]], [[META5]]}
146+
; CHECK: [[LOOP12]] = distinct !{[[LOOP12]], [[META1]], [[META13:![0-9]+]]}
147+
; CHECK: [[META13]] = !{!"FollowupSequential", i32 8}
148+
; CHECK: [[META14]] = !{[[META8]]}
149+
; CHECK: [[META15]] = !{[[META9]]}
150+
; CHECK: [[META16]] = !{[[META7]]}
151+
; CHECK: [[LOOP17]] = distinct !{[[LOOP17]], [[META1]], [[META18:![0-9]+]]}
152+
; CHECK: [[META18]] = !{!"FollowupCoincident", i1 false}
153+
;.

llvm/test/Transforms/LoopDistribute/metadata.ll

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,12 @@
55
; properly according to -enable-loop-distribute=0/1 and the
66
; llvm.loop.distribute.enable metadata.
77

8-
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
9-
target triple = "x86_64-apple-macosx10.10.0"
10-
8+
define void @explicit_on(ptr noalias %a, ptr noalias %b, ptr noalias %c, ptr noalias %d, ptr noalias %e) {
119
; CHECK-LABEL: @explicit_on(
12-
define void @explicit_on(ptr noalias %a,
13-
ptr noalias %b,
14-
ptr noalias %c,
15-
ptr noalias %d,
16-
ptr noalias %e) {
1710
entry:
1811
br label %for.body
1912

2013
; EXPLICIT: for.body.ldist1:
21-
2214
for.body: ; preds = %for.body, %entry
2315
%ind = phi i64 [ 0, %entry ], [ %add, %for.body ]
2416

@@ -62,7 +54,6 @@ entry:
6254
br label %for.body
6355

6456
; EXPLICIT-NOT: for.body.ldist1:
65-
6657
for.body: ; preds = %for.body, %entry
6758
%ind = phi i64 [ 0, %entry ], [ %add, %for.body ]
6859

@@ -96,20 +87,16 @@ for.end: ; preds = %for.body
9687
ret void
9788
}
9889

99-
; CHECK-LABEL: @default_distribute(
100-
define void @default_distribute(ptr noalias %a,
101-
ptr noalias %b,
102-
ptr noalias %c,
103-
ptr noalias %d,
90+
define void @default_distribute(ptr noalias %a, ptr noalias %b, ptr noalias %c, ptr noalias %d,
10491
ptr noalias %e) {
92+
; CHECK-LABEL: @default_distribute(
10593
entry:
10694
br label %for.body
10795

10896
; Verify the two distributed loops.
10997

11098
; DEFAULT_ON: for.body.ldist1:
11199
; DEFAULT_OFF-NOT: for.body.ldist1:
112-
113100
for.body: ; preds = %for.body, %entry
114101
%ind = phi i64 [ 0, %entry ], [ %add, %for.body ]
115102

0 commit comments

Comments
 (0)