annotate polly/www/todo.html @ 266:00f31e85ec16 default tip

Added tag current for changeset 31d058e83c98
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Oct 2023 10:13:55 +0900
parents 1f2b6ac9f198
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
anatofuz
parents:
diff changeset
2 "http://www.w3.org/TR/html4/strict.dtd">
anatofuz
parents:
diff changeset
3 <!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
anatofuz
parents:
diff changeset
4 <html>
anatofuz
parents:
diff changeset
5 <head> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
anatofuz
parents:
diff changeset
6 <title>Polly - Todo</title>
anatofuz
parents:
diff changeset
7 <link type="text/css" rel="stylesheet" href="menu.css">
anatofuz
parents:
diff changeset
8 <link type="text/css" rel="stylesheet" href="content.css">
anatofuz
parents:
diff changeset
9 </head>
anatofuz
parents:
diff changeset
10 <body>
anatofuz
parents:
diff changeset
11 <div id="box">
anatofuz
parents:
diff changeset
12 <!--#include virtual="menu.html.incl"-->
anatofuz
parents:
diff changeset
13 <div id="content">
anatofuz
parents:
diff changeset
14 <h1> TODO </h1>
anatofuz
parents:
diff changeset
15
anatofuz
parents:
diff changeset
16 <h2> Overview</h2>
anatofuz
parents:
diff changeset
17 <ul>
anatofuz
parents:
diff changeset
18 <li><a href="#phase3">Phase 4</a></li>
anatofuz
parents:
diff changeset
19 <li><a href="#phase3">Phase 3 - Improve Robustness, Interoperability and
anatofuz
parents:
diff changeset
20 Optimizations (ongoing)</a></li>
anatofuz
parents:
diff changeset
21 <li><a href="#llvm">Polly as a LLVM Project (Finished February 2012)</a></li>
anatofuz
parents:
diff changeset
22 <li><a href="#phase2">Phase 2 - First Optimizations and Enhanced User Experience (Finished
anatofuz
parents:
diff changeset
23 February 2012)</a></li>
anatofuz
parents:
diff changeset
24 <li><a href="#phase1">Phase 1 - Get Something Working (Finished October 2010)</a>
anatofuz
parents:
diff changeset
25 </li>
anatofuz
parents:
diff changeset
26 </ul>
anatofuz
parents:
diff changeset
27 <h2> Individual Phases</h3>
anatofuz
parents:
diff changeset
28
anatofuz
parents:
diff changeset
29 <h3 id="phase4"> Phase 4</h3>
anatofuz
parents:
diff changeset
30 <table class="wikitable" cellpadding="2">
anatofuz
parents:
diff changeset
31 <p> </p>
anatofuz
parents:
diff changeset
32
anatofuz
parents:
diff changeset
33 <tbody>
anatofuz
parents:
diff changeset
34 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Infrastructure </th></tr>
anatofuz
parents:
diff changeset
35 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
36 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
37 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
38 <th> Owner </th>
anatofuz
parents:
diff changeset
39 </tr>
anatofuz
parents:
diff changeset
40 <tr>
anatofuz
parents:
diff changeset
41 <th align="left"> Move to isl C++ bindings
anatofuz
parents:
diff changeset
42 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
43 </td><td>
anatofuz
parents:
diff changeset
44 </td>
anatofuz
parents:
diff changeset
45 </tr>
anatofuz
parents:
diff changeset
46 <th align="left"> &nbsp; &nbsp; - Add isl C++ bindings generator to isl
anatofuz
parents:
diff changeset
47 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
48 </td><td>
anatofuz
parents:
diff changeset
49 </td>
anatofuz
parents:
diff changeset
50 </tr>
anatofuz
parents:
diff changeset
51 <tr>
anatofuz
parents:
diff changeset
52 <th align="left"> Add isl as an external library to Polly SVN
anatofuz
parents:
diff changeset
53 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
54 </td><td>
anatofuz
parents:
diff changeset
55 </td>
anatofuz
parents:
diff changeset
56 </tr>
anatofuz
parents:
diff changeset
57 <tr>
anatofuz
parents:
diff changeset
58 <th align="left"> Compile-time: Speed up transformations
anatofuz
parents:
diff changeset
59 </th><td align="center">
anatofuz
parents:
diff changeset
60 </td><td>
anatofuz
parents:
diff changeset
61 </td>
anatofuz
parents:
diff changeset
62 </tr>
anatofuz
parents:
diff changeset
63 <th align="left"> &nbsp; &nbsp; - Optimize isl_int for small integers
anatofuz
parents:
diff changeset
64 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
65 </td><td>
anatofuz
parents:
diff changeset
66 </td>
anatofuz
parents:
diff changeset
67 </tr>
anatofuz
parents:
diff changeset
68 <tr>
anatofuz
parents:
diff changeset
69 <th align="left"> Compile-time: Minimize SCoP detection time
anatofuz
parents:
diff changeset
70 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
71 </td><td>
anatofuz
parents:
diff changeset
72 </td>
anatofuz
parents:
diff changeset
73 </tr>
anatofuz
parents:
diff changeset
74 <th align="left"> &nbsp; &nbsp; - Reconsider pass-ordering (move Polly later)
anatofuz
parents:
diff changeset
75 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
76 </td><td>
anatofuz
parents:
diff changeset
77 </td>
anatofuz
parents:
diff changeset
78 </tr>
anatofuz
parents:
diff changeset
79
anatofuz
parents:
diff changeset
80 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
81 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Increase coverage
anatofuz
parents:
diff changeset
82 </th></tr>
anatofuz
parents:
diff changeset
83 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
84 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
85 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
86 <th> Owner </th>
anatofuz
parents:
diff changeset
87 </tr>
anatofuz
parents:
diff changeset
88
anatofuz
parents:
diff changeset
89 <tr>
anatofuz
parents:
diff changeset
90 <th align="left">
anatofuz
parents:
diff changeset
91 Support for Modulos
anatofuz
parents:
diff changeset
92 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
93 </td><td> Johannes
anatofuz
parents:
diff changeset
94 </td></tr>
anatofuz
parents:
diff changeset
95 <tr>
anatofuz
parents:
diff changeset
96 <th align="left">
anatofuz
parents:
diff changeset
97 Boolean Combinations
anatofuz
parents:
diff changeset
98 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
99 </td><td> Johannes
anatofuz
parents:
diff changeset
100 </td></tr>
anatofuz
parents:
diff changeset
101 <tr>
anatofuz
parents:
diff changeset
102 <th align="left">
anatofuz
parents:
diff changeset
103 Unsigned Integers
anatofuz
parents:
diff changeset
104 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
105 </td><td> Johannes
anatofuz
parents:
diff changeset
106 </td></tr>
anatofuz
parents:
diff changeset
107 <tr>
anatofuz
parents:
diff changeset
108 <th align="left">
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
109 Pointer Comparisons
150
anatofuz
parents:
diff changeset
110 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
111 </td><td> Johannes
anatofuz
parents:
diff changeset
112 </td></tr>
anatofuz
parents:
diff changeset
113 <tr>
anatofuz
parents:
diff changeset
114 <th align="left">
anatofuz
parents:
diff changeset
115 Non-affine subregions
anatofuz
parents:
diff changeset
116 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
117 </td><td> Johannes
anatofuz
parents:
diff changeset
118 </td></tr>
anatofuz
parents:
diff changeset
119
anatofuz
parents:
diff changeset
120 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
121 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Polly as an
anatofuz
parents:
diff changeset
122 analysis </th></tr>
anatofuz
parents:
diff changeset
123 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
124 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
125 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
126 <th> Owner </th>
anatofuz
parents:
diff changeset
127 </tr>
anatofuz
parents:
diff changeset
128
anatofuz
parents:
diff changeset
129 <tr>
anatofuz
parents:
diff changeset
130 <th align="left">
anatofuz
parents:
diff changeset
131 Model scalars dependences directly in Polly
anatofuz
parents:
diff changeset
132 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
133 </td><td>
anatofuz
parents:
diff changeset
134 </td></tr>
anatofuz
parents:
diff changeset
135 <tr>
anatofuz
parents:
diff changeset
136 <th align="left">
anatofuz
parents:
diff changeset
137 Code generate scalar dependences
anatofuz
parents:
diff changeset
138 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
139 </td><td>
anatofuz
parents:
diff changeset
140 </td></tr>
anatofuz
parents:
diff changeset
141 <tr>
anatofuz
parents:
diff changeset
142 <th align="left">
anatofuz
parents:
diff changeset
143 Model PHI dependences directly in Polly
anatofuz
parents:
diff changeset
144 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
145 </td><td>
anatofuz
parents:
diff changeset
146 </td></tr>
anatofuz
parents:
diff changeset
147 <tr>
anatofuz
parents:
diff changeset
148 <th align="left">
anatofuz
parents:
diff changeset
149 Code generate PHI dependences
anatofuz
parents:
diff changeset
150 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
151 </td><td>
anatofuz
parents:
diff changeset
152 </td></tr>
anatofuz
parents:
diff changeset
153 <tr>
anatofuz
parents:
diff changeset
154 <th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12398">Remove
anatofuz
parents:
diff changeset
155 the need for independent blocks</a>
anatofuz
parents:
diff changeset
156 </th><td class="done"> Done
anatofuz
parents:
diff changeset
157 </td><td>
anatofuz
parents:
diff changeset
158 </td></tr>
anatofuz
parents:
diff changeset
159 <tr>
anatofuz
parents:
diff changeset
160 <th align="left">
anatofuz
parents:
diff changeset
161 Remove polly-prepare pass
anatofuz
parents:
diff changeset
162 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
163 </td><td>
anatofuz
parents:
diff changeset
164 </td></tr>
anatofuz
parents:
diff changeset
165
anatofuz
parents:
diff changeset
166 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
167 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Correctness in
anatofuz
parents:
diff changeset
168 cornercases </th></tr>
anatofuz
parents:
diff changeset
169 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
170 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
171 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
172 <th> Owner </th>
anatofuz
parents:
diff changeset
173 </tr>
anatofuz
parents:
diff changeset
174 <tr>
anatofuz
parents:
diff changeset
175 <th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=10381">Derive
anatofuz
parents:
diff changeset
176 optimal types (instead of always using i64)</a>
anatofuz
parents:
diff changeset
177 </th><td class="open"> Open
anatofuz
parents:
diff changeset
178 </td><td>
anatofuz
parents:
diff changeset
179 </td></tr>
anatofuz
parents:
diff changeset
180 <tr>
anatofuz
parents:
diff changeset
181 <th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12397">Model
anatofuz
parents:
diff changeset
182 integer wrapping</a>
anatofuz
parents:
diff changeset
183 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
184 </td><td> Johannes
anatofuz
parents:
diff changeset
185 </td></tr
anatofuz
parents:
diff changeset
186
anatofuz
parents:
diff changeset
187 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
188 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Optimize Julia
anatofuz
parents:
diff changeset
189 code with Polly
anatofuz
parents:
diff changeset
190 analysis </th></tr>
anatofuz
parents:
diff changeset
191 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
192 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
193 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
194 <th> Owner </th>
anatofuz
parents:
diff changeset
195 </tr>
anatofuz
parents:
diff changeset
196
anatofuz
parents:
diff changeset
197 <th align="left">
anatofuz
parents:
diff changeset
198 Integrate Polly into Julia
anatofuz
parents:
diff changeset
199 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
200 </td><td>
anatofuz
parents:
diff changeset
201 </td></tr>
anatofuz
parents:
diff changeset
202 <tr>
anatofuz
parents:
diff changeset
203 <th align="left">
anatofuz
parents:
diff changeset
204 Eliminate run-time bounds checks
anatofuz
parents:
diff changeset
205 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
206 </td><td>
anatofuz
parents:
diff changeset
207 </td></tr>
anatofuz
parents:
diff changeset
208 <tr>
anatofuz
parents:
diff changeset
209 <th align="left"> &nbsp; &nbsp; - Reconsider unreachables in post-dominance tree
anatofuz
parents:
diff changeset
210 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
211 </td><td>
anatofuz
parents:
diff changeset
212 </td></tr>
anatofuz
parents:
diff changeset
213
anatofuz
parents:
diff changeset
214 <th align="left"> &nbsp; &nbsp; - Actually eliminate statements
anatofuz
parents:
diff changeset
215 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
216 </td><td>
anatofuz
parents:
diff changeset
217 </td></tr>
anatofuz
parents:
diff changeset
218
anatofuz
parents:
diff changeset
219 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
220 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Improved
anatofuz
parents:
diff changeset
221 Optimizations in Polly
anatofuz
parents:
diff changeset
222 </th></tr>
anatofuz
parents:
diff changeset
223 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
224 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
225 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
226 <th> Owner </th>
anatofuz
parents:
diff changeset
227 </tr>
anatofuz
parents:
diff changeset
228
anatofuz
parents:
diff changeset
229 <th align="left">
anatofuz
parents:
diff changeset
230 Multi-level tiling
anatofuz
parents:
diff changeset
231 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
232 </td><td>
anatofuz
parents:
diff changeset
233 </td></tr>
anatofuz
parents:
diff changeset
234 <tr>
anatofuz
parents:
diff changeset
235 <th align="left">
anatofuz
parents:
diff changeset
236 Register Tiling
anatofuz
parents:
diff changeset
237 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
238 </td><td>
anatofuz
parents:
diff changeset
239 </td></tr>
anatofuz
parents:
diff changeset
240 <tr>
anatofuz
parents:
diff changeset
241 <th align="left">
anatofuz
parents:
diff changeset
242 Full/partial tile separation for vectorization
anatofuz
parents:
diff changeset
243 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
244 </td><td>
anatofuz
parents:
diff changeset
245 </td></tr>
anatofuz
parents:
diff changeset
246 <th align="left">
anatofuz
parents:
diff changeset
247 Loop interchange after vectorization to maximize stride-one accesses
anatofuz
parents:
diff changeset
248 </th><td align="center" class='open'> Open
anatofuz
parents:
diff changeset
249 </td><td>
anatofuz
parents:
diff changeset
250 </td></tr>
anatofuz
parents:
diff changeset
251 </table>
anatofuz
parents:
diff changeset
252
anatofuz
parents:
diff changeset
253
anatofuz
parents:
diff changeset
254 <h3 id="phase3"> Phase 3 - Improve Robustness, Interoperability and
anatofuz
parents:
diff changeset
255 Optimizations (ongoing)</h3>
anatofuz
parents:
diff changeset
256 <table class="wikitable" cellpadding="2">
anatofuz
parents:
diff changeset
257 <p> </p>
anatofuz
parents:
diff changeset
258
anatofuz
parents:
diff changeset
259 <tbody>
anatofuz
parents:
diff changeset
260 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Frontend </th></tr>
anatofuz
parents:
diff changeset
261 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
262 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
263 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
264 <th> Owner </th>
anatofuz
parents:
diff changeset
265 </tr>
anatofuz
parents:
diff changeset
266 <tr>
anatofuz
parents:
diff changeset
267 <th align="left"> Non-affine access functions
anatofuz
parents:
diff changeset
268 </th><td align="center" class='done'> Done, needs testing
anatofuz
parents:
diff changeset
269 </td><td>Marcello
anatofuz
parents:
diff changeset
270 </td>
anatofuz
parents:
diff changeset
271 </tr>
anatofuz
parents:
diff changeset
272
anatofuz
parents:
diff changeset
273
anatofuz
parents:
diff changeset
274 <tr>
anatofuz
parents:
diff changeset
275 <tr>
anatofuz
parents:
diff changeset
276 <th align="left"> <a
anatofuz
parents:
diff changeset
277 href="https://bugs.llvm.org/show_bug.cgi?id=12403">Variable-size
anatofuz
parents:
diff changeset
278 multi-dimensional arrays</a>
anatofuz
parents:
diff changeset
279 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
280 </td><td>Sebastian
anatofuz
parents:
diff changeset
281 </td></tr>
anatofuz
parents:
diff changeset
282 <tr>
anatofuz
parents:
diff changeset
283 <th align="left"> <a
anatofuz
parents:
diff changeset
284 href="https://bugs.llvm.org/show_bug.cgi?id=12407">Derive information for
anatofuz
parents:
diff changeset
285 the SCoP context
anatofuz
parents:
diff changeset
286 </a>
anatofuz
parents:
diff changeset
287 </th>
anatofuz
parents:
diff changeset
288 <td align="center" class='nice'> Open
anatofuz
parents:
diff changeset
289 </td><td>
anatofuz
parents:
diff changeset
290 </td></tr>
anatofuz
parents:
diff changeset
291 <tr>
anatofuz
parents:
diff changeset
292 <th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12402">Finer
anatofuz
parents:
diff changeset
293 grained statements</a>
anatofuz
parents:
diff changeset
294 </th><td align="center" class='nice'> Open
anatofuz
parents:
diff changeset
295 </td><td>
anatofuz
parents:
diff changeset
296 </td></tr>
anatofuz
parents:
diff changeset
297 <tr>
anatofuz
parents:
diff changeset
298 <th align="left"> Detect reductions
anatofuz
parents:
diff changeset
299 </th><td align="center" class='done'>Done
anatofuz
parents:
diff changeset
300 </td><td>Johannes
anatofuz
parents:
diff changeset
301 </td></tr>
anatofuz
parents:
diff changeset
302 <tr>
anatofuz
parents:
diff changeset
303 <th align="left"> Generate code for reductions
anatofuz
parents:
diff changeset
304 </th><td align="center" class='niceinprogress'>in progress
anatofuz
parents:
diff changeset
305 </td><td>Johannes
anatofuz
parents:
diff changeset
306 </td></tr>
anatofuz
parents:
diff changeset
307 <tr>
anatofuz
parents:
diff changeset
308 <th align="left"> Assume static sized arrays are only accessed in-bounds
anatofuz
parents:
diff changeset
309 </th><td align="center" class='done'>Done
anatofuz
parents:
diff changeset
310 </td><td>Tobias
anatofuz
parents:
diff changeset
311 </td></tr>
anatofuz
parents:
diff changeset
312 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
313 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Optimizer </th></tr>
anatofuz
parents:
diff changeset
314 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
315 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
316 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
317 <th> Owner </th>
anatofuz
parents:
diff changeset
318 </tr>
anatofuz
parents:
diff changeset
319 <tr>
anatofuz
parents:
diff changeset
320 <th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12405">Polyhedral
anatofuz
parents:
diff changeset
321 dead code elimination</a>
anatofuz
parents:
diff changeset
322 </th><td class="done">Done
anatofuz
parents:
diff changeset
323 </td><td>
anatofuz
parents:
diff changeset
324 </td></tr>
anatofuz
parents:
diff changeset
325
anatofuz
parents:
diff changeset
326 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
327 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Back End</th></tr>
anatofuz
parents:
diff changeset
328 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
329 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
330 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
331 <th> Owner </th>
anatofuz
parents:
diff changeset
332 </tr>
anatofuz
parents:
diff changeset
333 <tr>
anatofuz
parents:
diff changeset
334 <th align="left"> OpenMP code generation support in isl backend
anatofuz
parents:
diff changeset
335 (requirement to drop CLooG)
anatofuz
parents:
diff changeset
336 </th><td class="done"> Done
anatofuz
parents:
diff changeset
337 </td><td> Tobias
anatofuz
parents:
diff changeset
338 </td></tr>
anatofuz
parents:
diff changeset
339 <tr>
anatofuz
parents:
diff changeset
340 <th align="left"> Run-time alias checks
anatofuz
parents:
diff changeset
341 </th><td class="done"> Done
anatofuz
parents:
diff changeset
342 </td><td>Johannes
anatofuz
parents:
diff changeset
343 <tr>
anatofuz
parents:
diff changeset
344 <th align="left"> <a
anatofuz
parents:
diff changeset
345 href="https://polly.llvm.org/documentation/memaccess.html">Allow optimizers to
anatofuz
parents:
diff changeset
346 change memory access functions</a>
anatofuz
parents:
diff changeset
347 </th><td class="done"> Done
anatofuz
parents:
diff changeset
348 </td><td>Johannes
anatofuz
parents:
diff changeset
349 </td></tr>
anatofuz
parents:
diff changeset
350 <tr>
anatofuz
parents:
diff changeset
351 <th align="left"> <a href="https://bugs.llvm.org/show_bug.cgi?id=12406">Make code
anatofuz
parents:
diff changeset
352 generation independent of the clast</a>
anatofuz
parents:
diff changeset
353 </th><td class="done">Done
anatofuz
parents:
diff changeset
354 </td><td>
anatofuz
parents:
diff changeset
355 </td></tr>
anatofuz
parents:
diff changeset
356
anatofuz
parents:
diff changeset
357 <tr>
anatofuz
parents:
diff changeset
358 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
359 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> General</th></tr>
anatofuz
parents:
diff changeset
360 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
361 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
362 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
363 <th> Owner </th>
anatofuz
parents:
diff changeset
364 </tr>
anatofuz
parents:
diff changeset
365 <tr>
anatofuz
parents:
diff changeset
366 <th align="left"> Teach bugpoint to extract regions
anatofuz
parents:
diff changeset
367 </th><td class="nice"> Open
anatofuz
parents:
diff changeset
368 </td><td>
anatofuz
parents:
diff changeset
369 </td></tr>
anatofuz
parents:
diff changeset
370 <tr>
anatofuz
parents:
diff changeset
371 <th align="left"> Add <a
anatofuz
parents:
diff changeset
372 href="https://web.cse.ohio-state.edu/~pouchet.2/software/polybench/">Polybench
anatofuz
parents:
diff changeset
373 3.2</a> to the LLVM test suite
anatofuz
parents:
diff changeset
374 </th><td class="done"> Done
anatofuz
parents:
diff changeset
375 </td><td>
anatofuz
parents:
diff changeset
376 </td></tr>
anatofuz
parents:
diff changeset
377 <tr>
anatofuz
parents:
diff changeset
378 <th align="left"> Build against an installed LLVM
anatofuz
parents:
diff changeset
379 </th><td class="done"> Done<br />
anatofuz
parents:
diff changeset
380 </td><td>
anatofuz
parents:
diff changeset
381 </td></tr>
anatofuz
parents:
diff changeset
382 <tr>
anatofuz
parents:
diff changeset
383 <th align="left"> Setup buildbot regression testers using LNT
anatofuz
parents:
diff changeset
384 </th><td class="done"> Done
anatofuz
parents:
diff changeset
385 </td><td> Tobias
anatofuz
parents:
diff changeset
386 </td></tr>
anatofuz
parents:
diff changeset
387 </tbody></table>
anatofuz
parents:
diff changeset
388 <h3 id="llvm"> Polly as a LLVM Project (Finished February 2012)</h3>
anatofuz
parents:
diff changeset
389
anatofuz
parents:
diff changeset
390 <table class="wikitable" cellpadding="2">
anatofuz
parents:
diff changeset
391
anatofuz
parents:
diff changeset
392 <tbody>
anatofuz
parents:
diff changeset
393 <tr style="background: rgb(239, 239, 239);">
anatofuz
parents:
diff changeset
394 <th>Task
anatofuz
parents:
diff changeset
395 </th><th> Status
anatofuz
parents:
diff changeset
396 </th><th>Owner
anatofuz
parents:
diff changeset
397 </th></tr>
anatofuz
parents:
diff changeset
398 <tr>
anatofuz
parents:
diff changeset
399 <th align="left"> Move to LLVM SVN
anatofuz
parents:
diff changeset
400 </th><td class="done" align="center">
anatofuz
parents:
diff changeset
401 <a
anatofuz
parents:
diff changeset
402 href="https://llvm.org/svn/llvm-project/polly"
anatofuz
parents:
diff changeset
403 >https://llvm.org/svn/llvm-project/polly</a>
anatofuz
parents:
diff changeset
404 </td><td> Tobias
anatofuz
parents:
diff changeset
405
anatofuz
parents:
diff changeset
406 </td></tr>
anatofuz
parents:
diff changeset
407 <tr>
anatofuz
parents:
diff changeset
408 <th align="left"> Commit mails
anatofuz
parents:
diff changeset
409 </th><td class="done" align="center">
anatofuz
parents:
diff changeset
410 llvm-commits@lists.llvm.org
anatofuz
parents:
diff changeset
411 </td><td> Tobias
anatofuz
parents:
diff changeset
412 </td></tr>
anatofuz
parents:
diff changeset
413 <tr>
anatofuz
parents:
diff changeset
414
anatofuz
parents:
diff changeset
415 <th align="left"> LLVM Bugzilla category
anatofuz
parents:
diff changeset
416 </th><td class="done" align="center">
anatofuz
parents:
diff changeset
417 <a href="https://bugs.llvm.org/enter_bug.cgi?product=Projects">LLVM Bugzilla</a>
anatofuz
parents:
diff changeset
418 <br />
anatofuz
parents:
diff changeset
419 (Product is 'Projects', Component is 'Polly')
anatofuz
parents:
diff changeset
420 </td><td> Tobias
anatofuz
parents:
diff changeset
421 <tr>
anatofuz
parents:
diff changeset
422 <th align="left"> Website
anatofuz
parents:
diff changeset
423 </th><td class="done" align="center">
anatofuz
parents:
diff changeset
424 <a href="https://polly.llvm.org">https://polly.llvm.org</a>
anatofuz
parents:
diff changeset
425 </td><td> Tobias
anatofuz
parents:
diff changeset
426 </td></tr>
anatofuz
parents:
diff changeset
427 <tr>
anatofuz
parents:
diff changeset
428 <th align="left">Buildbot that runs 'make polly-test'
anatofuz
parents:
diff changeset
429 </th><td class="done" align="center">
anatofuz
parents:
diff changeset
430 <a href="http://lab.llvm.org:8011/console">Buildbot</a>
anatofuz
parents:
diff changeset
431 </td>
anatofuz
parents:
diff changeset
432 <td> Tobias, Andreas
anatofuz
parents:
diff changeset
433 </td></tr>
anatofuz
parents:
diff changeset
434 </th><td>
anatofuz
parents:
diff changeset
435
anatofuz
parents:
diff changeset
436 </td></tr>
anatofuz
parents:
diff changeset
437 </tbody></table>
anatofuz
parents:
diff changeset
438 <h3 id="phase2"> Phase 2 - First Optimizations and Enhanced User Experience (Finished
anatofuz
parents:
diff changeset
439 February 2012)</h3>
anatofuz
parents:
diff changeset
440 <p>
anatofuz
parents:
diff changeset
441
236
c4bab56944e8 LLVM 16
kono
parents: 150
diff changeset
442 First optimizations to show the usefulness of Polly and enhance the user
150
anatofuz
parents:
diff changeset
443 experience. We also try to increase the amount of code we can optimize.
anatofuz
parents:
diff changeset
444 </p>
anatofuz
parents:
diff changeset
445 <table class="wikitable" cellpadding="2">
anatofuz
parents:
diff changeset
446
anatofuz
parents:
diff changeset
447 <tbody>
anatofuz
parents:
diff changeset
448 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Frontend </th></tr>
anatofuz
parents:
diff changeset
449 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
450 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
451 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
452 <th> Owner </th>
anatofuz
parents:
diff changeset
453 </tr>
anatofuz
parents:
diff changeset
454 <tr>
anatofuz
parents:
diff changeset
455 <tr>
anatofuz
parents:
diff changeset
456 <th align="left"> Allow parameters in access functions
anatofuz
parents:
diff changeset
457 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
458 </td><td> Tobias
anatofuz
parents:
diff changeset
459 </td></tr>
anatofuz
parents:
diff changeset
460
anatofuz
parents:
diff changeset
461 <tr>
anatofuz
parents:
diff changeset
462 <th align="left"> Improved Scalar Evolution parsing
anatofuz
parents:
diff changeset
463 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
464 </td><td> Tobias
anatofuz
parents:
diff changeset
465 </td></tr>
anatofuz
parents:
diff changeset
466 <tr>
anatofuz
parents:
diff changeset
467 <th align="left"> (Graphical) user feedback on Scop Detection
anatofuz
parents:
diff changeset
468 </th><td align="center" class='done'> Done
anatofuz
parents:
diff changeset
469 </td><td> Tobias
anatofuz
parents:
diff changeset
470 </td></tr>
anatofuz
parents:
diff changeset
471 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
472 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Optimizer </th></tr>
anatofuz
parents:
diff changeset
473 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
474 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
475 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
476 <th> Owner </th>
anatofuz
parents:
diff changeset
477 </tr>
anatofuz
parents:
diff changeset
478 <tr>
anatofuz
parents:
diff changeset
479 <th align="left"> Dependency Analysis
anatofuz
parents:
diff changeset
480 </th><td class="done" align="center"> Done
anatofuz
parents:
diff changeset
481 </td><td> Tobias
anatofuz
parents:
diff changeset
482 </td></tr>
anatofuz
parents:
diff changeset
483 <tr>
anatofuz
parents:
diff changeset
484 <tr>
anatofuz
parents:
diff changeset
485 <th align="left"> Optimizer - Connect Pluto (through PoCC)
anatofuz
parents:
diff changeset
486 </th><td class="done" align="center"> Done
anatofuz
parents:
diff changeset
487 </td><td> Tobias
anatofuz
parents:
diff changeset
488 </td></tr>
anatofuz
parents:
diff changeset
489 <tr>
anatofuz
parents:
diff changeset
490 <tr>
anatofuz
parents:
diff changeset
491 <th align="left"> Optimizer - Add ISL internal Pluto like optimizer
anatofuz
parents:
diff changeset
492 </th><td class="done" align="center"> Done
anatofuz
parents:
diff changeset
493 </td><td> Tobias
anatofuz
parents:
diff changeset
494 </td></tr>
anatofuz
parents:
diff changeset
495
anatofuz
parents:
diff changeset
496 <tr>
anatofuz
parents:
diff changeset
497 <th align="left"> Import/Export - SCoPLib 0.2 (needed for PoCC)
anatofuz
parents:
diff changeset
498 </th><td class="done" align="center">Done
anatofuz
parents:
diff changeset
499
anatofuz
parents:
diff changeset
500 </td><td> Tobias
anatofuz
parents:
diff changeset
501 </td></tr>
anatofuz
parents:
diff changeset
502 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
503 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Back End</th></tr>
anatofuz
parents:
diff changeset
504 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
505 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
506 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
507 <th> Owner </th>
anatofuz
parents:
diff changeset
508 </tr>
anatofuz
parents:
diff changeset
509 <tr>
anatofuz
parents:
diff changeset
510 <th align="left">SIMD code generation for trivially vectorizable loops
anatofuz
parents:
diff changeset
511 </th><td class="done">Done
anatofuz
parents:
diff changeset
512 </td><td>Tobias
anatofuz
parents:
diff changeset
513 </td></tr>
anatofuz
parents:
diff changeset
514 <tr>
anatofuz
parents:
diff changeset
515 <th align="left">OpenMP code generation
anatofuz
parents:
diff changeset
516 </th><td class="done">Done
anatofuz
parents:
diff changeset
517 </td><td> Raghesh, Tobias
anatofuz
parents:
diff changeset
518
anatofuz
parents:
diff changeset
519 </td></tr>
anatofuz
parents:
diff changeset
520 <tr>
anatofuz
parents:
diff changeset
521 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
522 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> General</th></tr>
anatofuz
parents:
diff changeset
523 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
524 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
525 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
526 <th> Owner </th>
anatofuz
parents:
diff changeset
527 </tr>
anatofuz
parents:
diff changeset
528 <tr>
anatofuz
parents:
diff changeset
529 <th align="left"> clang integration
anatofuz
parents:
diff changeset
530 </th><td class="done" align="center"> done
anatofuz
parents:
diff changeset
531
anatofuz
parents:
diff changeset
532 </td><td> Tobias
anatofuz
parents:
diff changeset
533 </td></tr>
anatofuz
parents:
diff changeset
534 <tr>
anatofuz
parents:
diff changeset
535 <th align="left"> Commit RegionPass patch upstream
anatofuz
parents:
diff changeset
536 </th><td class="done" align="center"> done
anatofuz
parents:
diff changeset
537
anatofuz
parents:
diff changeset
538 </td><td> Tobias
anatofuz
parents:
diff changeset
539 </td></tr>
anatofuz
parents:
diff changeset
540 <tr>
anatofuz
parents:
diff changeset
541 </tbody></table>
anatofuz
parents:
diff changeset
542 <h3 id="phase1">Phase 1 - Get Something Working (Finished October 2010)</h3>
anatofuz
parents:
diff changeset
543 <p>Create a minimal version of Polly that can transform an LLVM-IR program to
anatofuz
parents:
diff changeset
544 the polyhedral model and back to LLVM-IR. No transformations are performed.
anatofuz
parents:
diff changeset
545 </p>
anatofuz
parents:
diff changeset
546 <table class="wikitable" cellpadding="2">
anatofuz
parents:
diff changeset
547
anatofuz
parents:
diff changeset
548 <tbody>
anatofuz
parents:
diff changeset
549 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Front End</th></tr>
anatofuz
parents:
diff changeset
550 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
551 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
552 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
553 <th> Owner </th>
anatofuz
parents:
diff changeset
554 </tr>
anatofuz
parents:
diff changeset
555
anatofuz
parents:
diff changeset
556 <th align="left"> Region detection
anatofuz
parents:
diff changeset
557 </td><td class="done"> Done
anatofuz
parents:
diff changeset
558 </td><td>Ether
anatofuz
parents:
diff changeset
559 </td></tr>
anatofuz
parents:
diff changeset
560 <tr>
anatofuz
parents:
diff changeset
561 <th align="left"> Access Functions
anatofuz
parents:
diff changeset
562 </td><td class="done"> Done
anatofuz
parents:
diff changeset
563 </td><td>John, Ether
anatofuz
parents:
diff changeset
564 </td></tr>
anatofuz
parents:
diff changeset
565 <tr>
anatofuz
parents:
diff changeset
566 <th align="left"> Alias sets
anatofuz
parents:
diff changeset
567 </td><td class="done"> Done
anatofuz
parents:
diff changeset
568 </td><td>Ether
anatofuz
parents:
diff changeset
569 </td></tr>
anatofuz
parents:
diff changeset
570 <tr>
anatofuz
parents:
diff changeset
571 <th align="left"> Scalar evolution to affine expression
anatofuz
parents:
diff changeset
572 </td><td class="done"> Done
anatofuz
parents:
diff changeset
573
anatofuz
parents:
diff changeset
574 </td><td>
anatofuz
parents:
diff changeset
575 Ether
anatofuz
parents:
diff changeset
576 </td></tr>
anatofuz
parents:
diff changeset
577 <tr>
anatofuz
parents:
diff changeset
578 <th align="left"> SCoP extraction
anatofuz
parents:
diff changeset
579 </td><td class="done"> Done
anatofuz
parents:
diff changeset
580 </td><td>Tobias, Ether
anatofuz
parents:
diff changeset
581
anatofuz
parents:
diff changeset
582 </td></tr>
anatofuz
parents:
diff changeset
583 <tr>
anatofuz
parents:
diff changeset
584 <th align="left"> SCoPs to polyhedral model
anatofuz
parents:
diff changeset
585 </td><td class="done"> Done
anatofuz
parents:
diff changeset
586 </td><td>Tobias, Ether
anatofuz
parents:
diff changeset
587 </td></tr>
anatofuz
parents:
diff changeset
588 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
589 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Optimizer </th></tr>
anatofuz
parents:
diff changeset
590 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
591 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
592 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
593 <th> Owner </th>
anatofuz
parents:
diff changeset
594 </tr>
anatofuz
parents:
diff changeset
595 <tr>
anatofuz
parents:
diff changeset
596 <th align="left"> Define polyhedral description
anatofuz
parents:
diff changeset
597 </td><td class="done"> Done
anatofuz
parents:
diff changeset
598 </td><td>Tobias
anatofuz
parents:
diff changeset
599
anatofuz
parents:
diff changeset
600 </td></tr>
anatofuz
parents:
diff changeset
601 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
602 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> Back End</th></tr>
anatofuz
parents:
diff changeset
603 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
604 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
605 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
606 <th> Owner </th>
anatofuz
parents:
diff changeset
607 </tr>
anatofuz
parents:
diff changeset
608 <tr>
anatofuz
parents:
diff changeset
609 <th align="left"> Create LLVM-IR using CLooG
anatofuz
parents:
diff changeset
610 </td><td class="done"> Done
anatofuz
parents:
diff changeset
611 </td><td> Tobias
anatofuz
parents:
diff changeset
612
anatofuz
parents:
diff changeset
613 </td></tr>
anatofuz
parents:
diff changeset
614 <tr><td colspan='4'>&nbsp;</td></tr>
anatofuz
parents:
diff changeset
615 <tr><th colspan="3" style="background: rgb(239, 239, 239);"> General</th></tr>
anatofuz
parents:
diff changeset
616 <tr style="background: rgb(239, 239, 239)">
anatofuz
parents:
diff changeset
617 <th width="400px"> Task </th>
anatofuz
parents:
diff changeset
618 <th width="150px"> Status </th>
anatofuz
parents:
diff changeset
619 <th> Owner </th>
anatofuz
parents:
diff changeset
620 </tr>
anatofuz
parents:
diff changeset
621 <tr>
anatofuz
parents:
diff changeset
622 <th align="left"> Setup git repositories
anatofuz
parents:
diff changeset
623
anatofuz
parents:
diff changeset
624 </td><td class="done"> Done
anatofuz
parents:
diff changeset
625 </td><td> Tobias
anatofuz
parents:
diff changeset
626 </td></tr>
anatofuz
parents:
diff changeset
627 <tr>
anatofuz
parents:
diff changeset
628 <th align="left"> Add CLooG/isl to build system
anatofuz
parents:
diff changeset
629 </td><td class="done"> Done
anatofuz
parents:
diff changeset
630 </td><td> Tobias
anatofuz
parents:
diff changeset
631
anatofuz
parents:
diff changeset
632 </td></tr>
anatofuz
parents:
diff changeset
633
anatofuz
parents:
diff changeset
634 </tbody></table>
anatofuz
parents:
diff changeset
635 </div>
anatofuz
parents:
diff changeset
636 </div>
anatofuz
parents:
diff changeset
637 </body>
anatofuz
parents:
diff changeset
638 </html>