annotate polly/test/ScopInfo/statistics.ll @ 252:1f2b6ac9f198 llvm-original

LLVM16-1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 18 Aug 2023 09:04:13 +0900
parents c4bab56944e8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
1 ; RUN: opt %loadPolly -polly-scops -stats -disable-output < %s 2>&1 | FileCheck %s
150
anatofuz
parents:
diff changeset
2 ; REQUIRES: asserts
anatofuz
parents:
diff changeset
3
anatofuz
parents:
diff changeset
4 ; CHECK-DAG: 4 polly-scops - Maximal number of loops in scops
anatofuz
parents:
diff changeset
5 ; CHECK-DAG: 10 polly-scops - Number of loops in scops
anatofuz
parents:
diff changeset
6 ; CHECK-DAG: 1 polly-scops - Number of scops with maximal loop depth 4
anatofuz
parents:
diff changeset
7 ; CHECK-DAG: 1 polly-scops - Number of scops with maximal loop depth 1
anatofuz
parents:
diff changeset
8 ; CHECK-DAG: 1 polly-scops - Number of scops with maximal loop depth 3
anatofuz
parents:
diff changeset
9 ; CHECK-DAG: 1 polly-scops - Number of scops with maximal loop depth 2
anatofuz
parents:
diff changeset
10 ; CHECK-DAG: 4 polly-scops - Number of Scops containing a loop
anatofuz
parents:
diff changeset
11 ; CHECK-DAG: 4 polly-scops - Number of valid Scops
anatofuz
parents:
diff changeset
12 ;
anatofuz
parents:
diff changeset
13 ; void foo_1d(float *A) {
anatofuz
parents:
diff changeset
14 ; for (long i = 0; i < 1024; i++)
anatofuz
parents:
diff changeset
15 ; A[i] += i;
anatofuz
parents:
diff changeset
16 ; }
anatofuz
parents:
diff changeset
17 ;
anatofuz
parents:
diff changeset
18 ; void foo_2d(float *A) {
anatofuz
parents:
diff changeset
19 ; for (long i = 0; i < 1024; i++)
anatofuz
parents:
diff changeset
20 ; for (long j = 0; j < 1024; j++)
anatofuz
parents:
diff changeset
21 ; A[i + j] += i + j;
anatofuz
parents:
diff changeset
22 ; }
anatofuz
parents:
diff changeset
23 ;
anatofuz
parents:
diff changeset
24 ; void foo_3d(float *A) {
anatofuz
parents:
diff changeset
25 ; for (long i = 0; i < 1024; i++)
anatofuz
parents:
diff changeset
26 ; for (long j = 0; j < 1024; j++)
anatofuz
parents:
diff changeset
27 ; for (long k = 0; k < 1024; k++)
anatofuz
parents:
diff changeset
28 ; A[i + j + k] += i + j + k;
anatofuz
parents:
diff changeset
29 ; }
anatofuz
parents:
diff changeset
30 ;
anatofuz
parents:
diff changeset
31 ; void foo_4d(float *A) {
anatofuz
parents:
diff changeset
32 ; for (long i = 0; i < 1024; i++)
anatofuz
parents:
diff changeset
33 ; for (long j = 0; j < 1024; j++)
anatofuz
parents:
diff changeset
34 ; for (long k = 0; k < 1024; k++)
anatofuz
parents:
diff changeset
35 ; for (long l = 0; l < 1024; l++)
anatofuz
parents:
diff changeset
36 ; A[i + j + k + l] += i + j + k + l;
anatofuz
parents:
diff changeset
37 ; }
anatofuz
parents:
diff changeset
38 ;
anatofuz
parents:
diff changeset
39 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
anatofuz
parents:
diff changeset
40
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
41 define void @foo_1d(ptr %A) {
150
anatofuz
parents:
diff changeset
42 bb:
anatofuz
parents:
diff changeset
43 br label %bb1
anatofuz
parents:
diff changeset
44
anatofuz
parents:
diff changeset
45 bb1: ; preds = %bb6, %bb
anatofuz
parents:
diff changeset
46 %i.0 = phi i64 [ 0, %bb ], [ %tmp7, %bb6 ]
anatofuz
parents:
diff changeset
47 %exitcond = icmp ne i64 %i.0, 1024
anatofuz
parents:
diff changeset
48 br i1 %exitcond, label %bb2, label %bb8
anatofuz
parents:
diff changeset
49
anatofuz
parents:
diff changeset
50 bb2: ; preds = %bb1
anatofuz
parents:
diff changeset
51 %tmp = sitofp i64 %i.0 to float
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
52 %tmp3 = getelementptr inbounds float, ptr %A, i64 %i.0
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
53 %tmp4 = load float, ptr %tmp3, align 4
150
anatofuz
parents:
diff changeset
54 %tmp5 = fadd float %tmp4, %tmp
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
55 store float %tmp5, ptr %tmp3, align 4
150
anatofuz
parents:
diff changeset
56 br label %bb6
anatofuz
parents:
diff changeset
57
anatofuz
parents:
diff changeset
58 bb6: ; preds = %bb2
anatofuz
parents:
diff changeset
59 %tmp7 = add nuw nsw i64 %i.0, 1
anatofuz
parents:
diff changeset
60 br label %bb1
anatofuz
parents:
diff changeset
61
anatofuz
parents:
diff changeset
62 bb8: ; preds = %bb1
anatofuz
parents:
diff changeset
63 ret void
anatofuz
parents:
diff changeset
64 }
anatofuz
parents:
diff changeset
65
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
66 define void @foo_2d(ptr %A) {
150
anatofuz
parents:
diff changeset
67 bb:
anatofuz
parents:
diff changeset
68 br label %bb2
anatofuz
parents:
diff changeset
69
anatofuz
parents:
diff changeset
70 bb2: ; preds = %bb14, %bb
anatofuz
parents:
diff changeset
71 %i.0 = phi i64 [ 0, %bb ], [ %tmp15, %bb14 ]
anatofuz
parents:
diff changeset
72 %exitcond1 = icmp ne i64 %i.0, 1024
anatofuz
parents:
diff changeset
73 br i1 %exitcond1, label %bb3, label %bb16
anatofuz
parents:
diff changeset
74
anatofuz
parents:
diff changeset
75 bb3: ; preds = %bb2
anatofuz
parents:
diff changeset
76 br label %bb4
anatofuz
parents:
diff changeset
77
anatofuz
parents:
diff changeset
78 bb4: ; preds = %bb11, %bb3
anatofuz
parents:
diff changeset
79 %j.0 = phi i64 [ 0, %bb3 ], [ %tmp12, %bb11 ]
anatofuz
parents:
diff changeset
80 %exitcond = icmp ne i64 %j.0, 1024
anatofuz
parents:
diff changeset
81 br i1 %exitcond, label %bb5, label %bb13
anatofuz
parents:
diff changeset
82
anatofuz
parents:
diff changeset
83 bb5: ; preds = %bb4
anatofuz
parents:
diff changeset
84 %tmp = add nuw nsw i64 %i.0, %j.0
anatofuz
parents:
diff changeset
85 %tmp6 = sitofp i64 %tmp to float
anatofuz
parents:
diff changeset
86 %tmp7 = add nuw nsw i64 %i.0, %j.0
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
87 %tmp8 = getelementptr inbounds float, ptr %A, i64 %tmp7
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
88 %tmp9 = load float, ptr %tmp8, align 4
150
anatofuz
parents:
diff changeset
89 %tmp10 = fadd float %tmp9, %tmp6
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
90 store float %tmp10, ptr %tmp8, align 4
150
anatofuz
parents:
diff changeset
91 br label %bb11
anatofuz
parents:
diff changeset
92
anatofuz
parents:
diff changeset
93 bb11: ; preds = %bb5
anatofuz
parents:
diff changeset
94 %tmp12 = add nuw nsw i64 %j.0, 1
anatofuz
parents:
diff changeset
95 br label %bb4
anatofuz
parents:
diff changeset
96
anatofuz
parents:
diff changeset
97 bb13: ; preds = %bb4
anatofuz
parents:
diff changeset
98 br label %bb14
anatofuz
parents:
diff changeset
99
anatofuz
parents:
diff changeset
100 bb14: ; preds = %bb13
anatofuz
parents:
diff changeset
101 %tmp15 = add nuw nsw i64 %i.0, 1
anatofuz
parents:
diff changeset
102 br label %bb2
anatofuz
parents:
diff changeset
103
anatofuz
parents:
diff changeset
104 bb16: ; preds = %bb2
anatofuz
parents:
diff changeset
105 ret void
anatofuz
parents:
diff changeset
106 }
anatofuz
parents:
diff changeset
107
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
108 define void @foo_3d(ptr %A) {
150
anatofuz
parents:
diff changeset
109 bb:
anatofuz
parents:
diff changeset
110 br label %bb3
anatofuz
parents:
diff changeset
111
anatofuz
parents:
diff changeset
112 bb3: ; preds = %bb22, %bb
anatofuz
parents:
diff changeset
113 %i.0 = phi i64 [ 0, %bb ], [ %tmp23, %bb22 ]
anatofuz
parents:
diff changeset
114 %exitcond2 = icmp ne i64 %i.0, 1024
anatofuz
parents:
diff changeset
115 br i1 %exitcond2, label %bb4, label %bb24
anatofuz
parents:
diff changeset
116
anatofuz
parents:
diff changeset
117 bb4: ; preds = %bb3
anatofuz
parents:
diff changeset
118 br label %bb5
anatofuz
parents:
diff changeset
119
anatofuz
parents:
diff changeset
120 bb5: ; preds = %bb19, %bb4
anatofuz
parents:
diff changeset
121 %j.0 = phi i64 [ 0, %bb4 ], [ %tmp20, %bb19 ]
anatofuz
parents:
diff changeset
122 %exitcond1 = icmp ne i64 %j.0, 1024
anatofuz
parents:
diff changeset
123 br i1 %exitcond1, label %bb6, label %bb21
anatofuz
parents:
diff changeset
124
anatofuz
parents:
diff changeset
125 bb6: ; preds = %bb5
anatofuz
parents:
diff changeset
126 br label %bb7
anatofuz
parents:
diff changeset
127
anatofuz
parents:
diff changeset
128 bb7: ; preds = %bb16, %bb6
anatofuz
parents:
diff changeset
129 %k.0 = phi i64 [ 0, %bb6 ], [ %tmp17, %bb16 ]
anatofuz
parents:
diff changeset
130 %exitcond = icmp ne i64 %k.0, 1024
anatofuz
parents:
diff changeset
131 br i1 %exitcond, label %bb8, label %bb18
anatofuz
parents:
diff changeset
132
anatofuz
parents:
diff changeset
133 bb8: ; preds = %bb7
anatofuz
parents:
diff changeset
134 %tmp = add nuw nsw i64 %i.0, %j.0
anatofuz
parents:
diff changeset
135 %tmp9 = add nuw nsw i64 %tmp, %k.0
anatofuz
parents:
diff changeset
136 %tmp10 = sitofp i64 %tmp9 to float
anatofuz
parents:
diff changeset
137 %tmp11 = add nuw nsw i64 %i.0, %j.0
anatofuz
parents:
diff changeset
138 %tmp12 = add nuw nsw i64 %tmp11, %k.0
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
139 %tmp13 = getelementptr inbounds float, ptr %A, i64 %tmp12
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
140 %tmp14 = load float, ptr %tmp13, align 4
150
anatofuz
parents:
diff changeset
141 %tmp15 = fadd float %tmp14, %tmp10
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
142 store float %tmp15, ptr %tmp13, align 4
150
anatofuz
parents:
diff changeset
143 br label %bb16
anatofuz
parents:
diff changeset
144
anatofuz
parents:
diff changeset
145 bb16: ; preds = %bb8
anatofuz
parents:
diff changeset
146 %tmp17 = add nuw nsw i64 %k.0, 1
anatofuz
parents:
diff changeset
147 br label %bb7
anatofuz
parents:
diff changeset
148
anatofuz
parents:
diff changeset
149 bb18: ; preds = %bb7
anatofuz
parents:
diff changeset
150 br label %bb19
anatofuz
parents:
diff changeset
151
anatofuz
parents:
diff changeset
152 bb19: ; preds = %bb18
anatofuz
parents:
diff changeset
153 %tmp20 = add nuw nsw i64 %j.0, 1
anatofuz
parents:
diff changeset
154 br label %bb5
anatofuz
parents:
diff changeset
155
anatofuz
parents:
diff changeset
156 bb21: ; preds = %bb5
anatofuz
parents:
diff changeset
157 br label %bb22
anatofuz
parents:
diff changeset
158
anatofuz
parents:
diff changeset
159 bb22: ; preds = %bb21
anatofuz
parents:
diff changeset
160 %tmp23 = add nuw nsw i64 %i.0, 1
anatofuz
parents:
diff changeset
161 br label %bb3
anatofuz
parents:
diff changeset
162
anatofuz
parents:
diff changeset
163 bb24: ; preds = %bb3
anatofuz
parents:
diff changeset
164 ret void
anatofuz
parents:
diff changeset
165 }
anatofuz
parents:
diff changeset
166
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
167 define void @foo_4d(ptr %A) {
150
anatofuz
parents:
diff changeset
168 bb:
anatofuz
parents:
diff changeset
169 br label %bb4
anatofuz
parents:
diff changeset
170
anatofuz
parents:
diff changeset
171 bb4: ; preds = %bb30, %bb
anatofuz
parents:
diff changeset
172 %i.0 = phi i64 [ 0, %bb ], [ %tmp31, %bb30 ]
anatofuz
parents:
diff changeset
173 %exitcond3 = icmp ne i64 %i.0, 1024
anatofuz
parents:
diff changeset
174 br i1 %exitcond3, label %bb5, label %bb32
anatofuz
parents:
diff changeset
175
anatofuz
parents:
diff changeset
176 bb5: ; preds = %bb4
anatofuz
parents:
diff changeset
177 br label %bb6
anatofuz
parents:
diff changeset
178
anatofuz
parents:
diff changeset
179 bb6: ; preds = %bb27, %bb5
anatofuz
parents:
diff changeset
180 %j.0 = phi i64 [ 0, %bb5 ], [ %tmp28, %bb27 ]
anatofuz
parents:
diff changeset
181 %exitcond2 = icmp ne i64 %j.0, 1024
anatofuz
parents:
diff changeset
182 br i1 %exitcond2, label %bb7, label %bb29
anatofuz
parents:
diff changeset
183
anatofuz
parents:
diff changeset
184 bb7: ; preds = %bb6
anatofuz
parents:
diff changeset
185 br label %bb8
anatofuz
parents:
diff changeset
186
anatofuz
parents:
diff changeset
187 bb8: ; preds = %bb24, %bb7
anatofuz
parents:
diff changeset
188 %k.0 = phi i64 [ 0, %bb7 ], [ %tmp25, %bb24 ]
anatofuz
parents:
diff changeset
189 %exitcond1 = icmp ne i64 %k.0, 1024
anatofuz
parents:
diff changeset
190 br i1 %exitcond1, label %bb9, label %bb26
anatofuz
parents:
diff changeset
191
anatofuz
parents:
diff changeset
192 bb9: ; preds = %bb8
anatofuz
parents:
diff changeset
193 br label %bb10
anatofuz
parents:
diff changeset
194
anatofuz
parents:
diff changeset
195 bb10: ; preds = %bb21, %bb9
anatofuz
parents:
diff changeset
196 %l.0 = phi i64 [ 0, %bb9 ], [ %tmp22, %bb21 ]
anatofuz
parents:
diff changeset
197 %exitcond = icmp ne i64 %l.0, 1024
anatofuz
parents:
diff changeset
198 br i1 %exitcond, label %bb11, label %bb23
anatofuz
parents:
diff changeset
199
anatofuz
parents:
diff changeset
200 bb11: ; preds = %bb10
anatofuz
parents:
diff changeset
201 %tmp = add nuw nsw i64 %i.0, %j.0
anatofuz
parents:
diff changeset
202 %tmp12 = add nuw nsw i64 %tmp, %k.0
anatofuz
parents:
diff changeset
203 %tmp13 = add nuw nsw i64 %tmp12, %l.0
anatofuz
parents:
diff changeset
204 %tmp14 = sitofp i64 %tmp13 to float
anatofuz
parents:
diff changeset
205 %tmp15 = add nuw nsw i64 %i.0, %j.0
anatofuz
parents:
diff changeset
206 %tmp16 = add nuw nsw i64 %tmp15, %k.0
anatofuz
parents:
diff changeset
207 %tmp17 = add nuw nsw i64 %tmp16, %l.0
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
208 %tmp18 = getelementptr inbounds float, ptr %A, i64 %tmp17
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
209 %tmp19 = load float, ptr %tmp18, align 4
150
anatofuz
parents:
diff changeset
210 %tmp20 = fadd float %tmp19, %tmp14
252
1f2b6ac9f198 LLVM16-1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 236
diff changeset
211 store float %tmp20, ptr %tmp18, align 4
150
anatofuz
parents:
diff changeset
212 br label %bb21
anatofuz
parents:
diff changeset
213
anatofuz
parents:
diff changeset
214 bb21: ; preds = %bb11
anatofuz
parents:
diff changeset
215 %tmp22 = add nuw nsw i64 %l.0, 1
anatofuz
parents:
diff changeset
216 br label %bb10
anatofuz
parents:
diff changeset
217
anatofuz
parents:
diff changeset
218 bb23: ; preds = %bb10
anatofuz
parents:
diff changeset
219 br label %bb24
anatofuz
parents:
diff changeset
220
anatofuz
parents:
diff changeset
221 bb24: ; preds = %bb23
anatofuz
parents:
diff changeset
222 %tmp25 = add nuw nsw i64 %k.0, 1
anatofuz
parents:
diff changeset
223 br label %bb8
anatofuz
parents:
diff changeset
224
anatofuz
parents:
diff changeset
225 bb26: ; preds = %bb8
anatofuz
parents:
diff changeset
226 br label %bb27
anatofuz
parents:
diff changeset
227
anatofuz
parents:
diff changeset
228 bb27: ; preds = %bb26
anatofuz
parents:
diff changeset
229 %tmp28 = add nuw nsw i64 %j.0, 1
anatofuz
parents:
diff changeset
230 br label %bb6
anatofuz
parents:
diff changeset
231
anatofuz
parents:
diff changeset
232 bb29: ; preds = %bb6
anatofuz
parents:
diff changeset
233 br label %bb30
anatofuz
parents:
diff changeset
234
anatofuz
parents:
diff changeset
235 bb30: ; preds = %bb29
anatofuz
parents:
diff changeset
236 %tmp31 = add nuw nsw i64 %i.0, 1
anatofuz
parents:
diff changeset
237 br label %bb4
anatofuz
parents:
diff changeset
238
anatofuz
parents:
diff changeset
239 bb32: ; preds = %bb4
anatofuz
parents:
diff changeset
240 ret void
anatofuz
parents:
diff changeset
241 }