Johannes Doerfert | 5aa2194 | 2014-08-13 17:49:16 | [diff] [blame] | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 2 | "http://www.w3.org/TR/html4/strict.dtd"> |
| 3 | <!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ --> |
| 4 | <html> |
| 5 | <head> |
| 6 | <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> |
| 7 | <title>Polly - Polyhedral optimizations for LLVM</title> |
| 8 | <link type="text/css" rel="stylesheet" href="menu.css"> |
| 9 | <link type="text/css" rel="stylesheet" href="content.css"> |
Tobias Grosser | 54da06c | 2011-12-13 15:07:00 | [diff] [blame] | 10 | <script src="video-js/video.js" type="text/javascript" charset="utf-8"></script> |
| 11 | <script type="text/javascript"> |
| 12 | VideoJS.setupAllWhenReady(); |
| 13 | </script> |
| 14 | |
| 15 | <!-- Include the VideoJS Stylesheet --> |
| 16 | <link rel="stylesheet" href="video-js/video-js.css" type="text/css" media="screen" title="Video JS"> |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 17 | </head> |
| 18 | <body> |
Tobias Grosser | ca4ca28 | 2013-12-19 22:50:10 | [diff] [blame] | 19 | <div id="box"> |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 20 | <!--#include virtual="menu.html.incl"--> |
| 21 | <div id="content"> |
| 22 | <!--*********************************************************************--> |
Tobias Grosser | 7110f33 | 2013-12-20 00:53:01 | [diff] [blame] | 23 | <h1>About Polly</h1> |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 24 | <!--*********************************************************************--> |
| 25 | |
Tobias Grosser | ca493da | 2014-03-21 09:34:34 | [diff] [blame] | 26 | <p> Polly is a high-level loop and data-locality optimizer and optimization |
| 27 | infrastructure for LLVM. It uses an abstract mathematical representation based |
| 28 | on integer polyhedra to analyze and optimize the memory access pattern of a |
| 29 | program. We currently perform classical loop transformations, especially |
| 30 | tiling and loop fusion to improve data-locality. Polly can also exploit |
| 31 | OpenMP level parallelism, expose SIMDization opportunities. Work has also be |
| 32 | done in the area of automatic GPU code generation.</p> |
| 33 | |
Tobias Grosser | 8d614d0 | 2014-06-10 20:18:16 | [diff] [blame] | 34 | For many users, however, it's not the existing optimizations in Polly that are |
| 35 | of most interest, but the new analyses and optimizations enabled by the Polly |
| 36 | infrastructure. At |
Tobias Grosser | ca493da | 2014-03-21 09:34:34 | [diff] [blame] | 37 | <a href="http://polyhedral.info">polyhedral.info</a> you can get an idea of |
| 38 | what has already been done and what is possible in the context of polyhedral |
| 39 | compilation. |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 40 | |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 41 | <!--=====================================================================--> |
Tobias Grosser | 40c163a | 2011-12-13 14:53:25 | [diff] [blame] | 42 | <h2>News</h2> |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 43 | <!--=====================================================================--> |
| 44 | |
Tobias Grosser | 40c163a | 2011-12-13 14:53:25 | [diff] [blame] | 45 | <table id="news"> |
Tobias Grosser | c4a8016 | 2016-04-29 12:35:46 | [diff] [blame] | 46 | <tr><td><b>2016</b></td></tr> |
| 47 | <tr><td width="120"><p>April</p></td> |
| 48 | <td> |
| 49 | A source checkout that contains Polly now provides Polly functionality |
| 50 | by default in clang/opt/bugpoint without the need to load an additional |
| 51 | module. |
| 52 | </td> |
| 53 | </tr> |
Johannes Doerfert | c28197e | 2015-02-28 14:46:26 | [diff] [blame] | 54 | <tr><td><b>2015</b></td></tr> |
Tobias Grosser | 234a482 | 2015-08-15 09:34:33 | [diff] [blame] | 55 | <tr><td width="120"><p>July</p></td> |
| 56 | <td> |
| 57 | <h4>AST Generation Paper published in TOPLAS</h4> |
| 58 | The July issue of TOPLAS contains a 50 page discussion of the AST |
| 59 | generation techniques used in Polly. This discussion gives not only an |
| 60 | in-depth description of how we (re)generate an imperative AST from our |
| 61 | polyhedral based mathematical program description, but also gives |
| 62 | interesting insights about: |
| 63 | <ul> |
| 64 | <li><b>Schedule trees:</b> A tree-based mathematical program description |
| 65 | that enables us to perform loop transformations on an abstract level, |
| 66 | while issues like the generation of the correct loop structure and loop |
| 67 | bounds will be taken care of by our AST generator. |
| 68 | <li><b>Polyhedral unrolling:</b> We discuss techniques that allow the |
| 69 | unrolling of non-trivial loops in the context of parameteric loop bounds, |
| 70 | complex tile shapes and conditionally executed statements. Such unrolling |
| 71 | support enables the generation of predicated code e.g. in the context of |
| 72 | GPGPU computing. |
| 73 | <li><b>Isolation for full/partial tile separation:</b> We discuss native |
| 74 | support for handling full/partial tile separation and -- in general -- |
| 75 | native support for isolation of boundary cases to enable smooth code |
| 76 | generation for core computations. |
| 77 | <li><b>AST generation with modulo constraints:</b> We discuss how modulo |
| 78 | mappings are lowered to efficient C/LLVM code. |
| 79 | <li><b>User-defined constraint sets for run-time checks</b> We discuss how |
| 80 | arbitrary sets of constraints can be used to automatically create run-time |
| 81 | checks that ensure a set of constrainst actually hold. This feature is |
| 82 | very useful to verify at run-time various assumptions that have been taken |
| 83 | program optimization. |
| 84 | </ul> |
| 85 | |
| 86 | <a href="http://www.grosser.es#pub-polyhedral-AST-generation"> |
| 87 | <em>Polyhedral AST generation is more than scanning polyhedra</em></a><br /> |
| 88 | Tobias Grosser, Sven Verdoolaege, Albert Cohen<br /> |
| 89 | ACM Transations on Programming Languages and Systems (TOPLAS), 37(4), |
| 90 | July 2015 |
| 91 | |
| 92 | <br> |
| 93 | <br> |
| 94 | <br> |
| 95 | <br> |
| 96 | </td> |
| 97 | </tr> |
Johannes Doerfert | c28197e | 2015-02-28 14:46:26 | [diff] [blame] | 98 | <tr><td width="120"><p>February</p></td> |
| 99 | <td> |
Johannes Doerfert | d40991b | 2015-02-28 14:48:15 | [diff] [blame] | 100 | <h4>Polly allows now non-affine subregions</h4> |
| 101 | Data-dependent or floating point conditionals inside a SCoP can now be |
| 102 | overapproximated in order to increase the applicability on general purpose |
| 103 | code. |
| 104 | </td> |
Johannes Doerfert | c28197e | 2015-02-28 14:46:26 | [diff] [blame] | 105 | </tr> |
Tobias Grosser | d452105 | 2014-01-06 09:51:38 | [diff] [blame] | 106 | <tr><td><b>2014</b></td></tr> |
Johannes Doerfert | 5aa2194 | 2014-08-13 17:49:16 | [diff] [blame] | 107 | <tr><td width="120"><p>August</p></td> |
| 108 | <td> |
| 109 | <h4>Polly drops the support of ScopLib and the external optimizer PoCC</h4> |
| 110 | The support for ScopLib as an exchange format has been removed as recent |
| 111 | versions of clan, candl and pluto all support the OpenScop exchange format. |
| 112 | |
| 113 | The support of the external optmizer PoCC has been dropped in favor of the |
| 114 | isl optimizer (default) and the still available pluto support. |
| 115 | </td> |
| 116 | </tr> |
| 117 | <tr><td><b>2014</b></td></tr> |
Tobias Grosser | d285161 | 2014-06-04 09:26:39 | [diff] [blame] | 118 | <tr><td width="120"><p>June</p></td> |
| 119 | <td> |
| 120 | <h4>Polly can be built without GPL licensed software</h4> After Sebastian |
| 121 | Pop's |
| 122 | and David Peixotto's (both Qualcomm) recent <a |
| 123 | href="http://repo.or.cz/w/isl.git/commit/60703e3ee89b9d5d4d1afb6a3f611292c0884574">commit</a> |
| 124 | to isl, isl's latest development version can be built with imath instead of |
| 125 | GMP. With both CLooG and gmp having become optional, the last obilgatory |
| 126 | dependency to GPL licensed software has been removed. Now Polly only depends |
| 127 | on isl (and the included imath), which are both MIT licensed. |
| 128 | </td> |
| 129 | </tr> |
Tobias Grosser | d7c5e51 | 2014-04-03 18:56:13 | [diff] [blame] | 130 | <tr><td width="120"><p>April</p></td> |
| 131 | <td> |
Tobias Grosser | 36e997f | 2014-04-23 18:09:24 | [diff] [blame] | 132 | <h4>Polly Phone Call - 23April</h4> |
| 133 | We had a polly phone call about delinearizing array accesses (II)<a |
| 134 | href="https://docs.google.com/document/d/1IZewI8Up0iEkCNIPr6gVtwJxF7RV6KmXkdwOBM_Q5Cs/edit?usp=sharing ">Meeting notes</a> are available online. |
Tobias Grosser | 6e4dea2 | 2014-04-17 19:59:38 | [diff] [blame] | 135 | <h4>Polly Phone Call - 17th April</h4> |
| 136 | We had a polly phone call about delinearizing array accesses <a |
| 137 | href="https://docs.google.com/document/d/14d3ehkH2MsvBdqsEOSYjysH0Ztyzb75Lp843hnxh2IA/edit?usp=sharing">Meeting notes</a> are available online. |
Tobias Grosser | 7701194 | 2014-04-10 18:44:50 | [diff] [blame] | 138 | <h4>Polly Phone Call - 10th April</h4> |
| 139 | We had a polly phone call. <a |
| 140 | href="https://docs.google.com/document/d/12W-qZjiZGEQ_lVrob4OzvKJI3EooonC-ap1b9f9KCUE/edit?usp=sharing">Meeting notes</a> are available online. |
| 141 | <h4>Polly Phone Call - 4th April</h4> |
Tobias Grosser | d7c5e51 | 2014-04-03 18:56:13 | [diff] [blame] | 142 | We had a polly phone call. <a |
| 143 | href="https://drive.google.com/folderview?id=0B7OMOXTgCYIUWkpJbWVJcW04ams&usp=sharing">Meeting notes</a> are available online. |
| 144 | </td> |
| 145 | </tr> |
Sebastian Pop | 7636997 | 2014-03-19 21:31:09 | [diff] [blame] | 146 | <tr><td width="120"><p>March</p></td> |
| 147 | <td> |
| 148 | <h4>Static link Polly into tools</h4> Polly can now be configured with 'cmake |
| 149 | -D LINK_POLLY_INTO_TOOLS:Bool=ON' to be statically linked in the tools (opt, |
| 150 | bugpoint, and clang.) This makes it easier to use polly without having to load |
| 151 | a shared library, and it also reduces the complexity of compiling Polly on |
| 152 | Windows. |
| 153 | </td> |
| 154 | </tr> |
Tobias Grosser | 3b49fdb | 2014-02-19 21:58:56 | [diff] [blame] | 155 | <tr><td width="120"><p>February</p></td> |
| 156 | <td> |
| 157 | <h4>Polly presentation at FOSDEM 2014</h4> Polly was <a |
| 158 | href="https://fosdem.org/2014/schedule/event/polly/">presented</a> at the |
| 159 | FOSDEM LLVM developer's meeting. |
| 160 | <h4>New LLVM test-suite buildbots</h4> |
| 161 | The set of <a href="http://lab.llvm.org:8011/console?category=polly">Polly |
| 162 | buildbots</a> has been extended. We now have 16 new blades that track |
| 163 | correctness and performance when compiling the LLVM test-suite. For now five |
Sebastian Pop | 7636997 | 2014-03-19 21:31:09 | [diff] [blame] | 164 | of them are used to provide <a |
Tobias Grosser | 3b49fdb | 2014-02-19 21:58:56 | [diff] [blame] | 165 | href="http://llvm.org/perf/db_default/v4/nts/22463">fine granularity |
| 166 | reports</a> (almost per-commit) |
| 167 | for 'clang -O3' (no polly). We also have six machines that track different |
| 168 | configurations of polly. |
| 169 | </td> |
| 170 | </tr> |
Tobias Grosser | d452105 | 2014-01-06 09:51:38 | [diff] [blame] | 171 | <tr><td width="120"><p>January</p></td> |
| 172 | <td> |
| 173 | <h4>islplot released</h4> |
| 174 | <a href="https://github.com/tobig/islplot">islplot</a> is a library that |
| 175 | generates illustrations of integer sets and maps. It relies on <a |
| 176 | href="http://repo.or.cz/w/isl.git">isl</a> to model the integer sets and uses the <a |
| 177 | href="https://pypi.python.org/pypi/islpy">islpy</a> Python bindings to access |
| 178 | them. Plotting is performed with <a |
| 179 | href="http://matplotlib.org">matplotlib</a>. The following <a |
| 180 | href="http://nbviewer.ipython.org/github/tobig/islplot/blob/master/notebooks/islplot-examples.ipynb"> |
Tobias Grosser | 2cc9463 | 2014-01-06 09:52:42 | [diff] [blame] | 181 | Examples</a> show its use. |
Tobias Grosser | 20b9966 | 2014-01-06 09:53:00 | [diff] [blame] | 182 | </td> |
Tobias Grosser | d452105 | 2014-01-06 09:51:38 | [diff] [blame] | 183 | </tr> |
Tobias Grosser | 8aa2090 | 2013-10-26 10:01:42 | [diff] [blame] | 184 | <tr><td><b>2013</b></td></tr> |
Tobias Grosser | ce46472 | 2013-10-26 10:08:35 | [diff] [blame] | 185 | <tr><td width="120"><p>November</p></td> |
| 186 | <td> |
| 187 | <h4>Loop optimization BoF at upcoming LLVM conference</h4> |
| 188 | At the upcoming <a href="http://llvm.org/devmtg/2013-11/#bof5">LLVM conference |
| 189 | </a> there will be a loop optimization BoF discussing Polly and other high |
| 190 | level loop optimizers. |
| 191 | </td> |
| 192 | </tr> |
Tobias Grosser | 8aa2090 | 2013-10-26 10:01:42 | [diff] [blame] | 193 | <tr><td width="120"><p>October</p></td> |
| 194 | <td> |
Tobias Grosser | 1bb2683 | 2013-10-26 10:01:52 | [diff] [blame] | 195 | <h4>Automatic code coverage and static analysis tests</h4> |
Sylvestre Ledru | 6a20b7e | 2013-10-29 11:05:18 | [diff] [blame] | 196 | Sylvestre Ledru set up automatic tests for <a |
Tobias Grosser | 8aa2090 | 2013-10-26 10:01:42 | [diff] [blame] | 197 | href="http://buildd-clang.debian.net/coverage/">code coverage</a> and |
| 198 | <a href="http://buildd-clang.debian.net/scan-build/">static analysis</a> |
| 199 | which run at least once a day and which include results for Polly. |
Tobias Grosser | 1bb2683 | 2013-10-26 10:01:52 | [diff] [blame] | 200 | <h4>Move to CLooG 0.18.1 and isl 0.12.1</h4> |
| 201 | With the move to an isl 0.12 version Polly can be compiled without the |
Tobias Grosser | 556416d | 2013-12-20 09:49:24 | [diff] [blame] | 202 | need to link directly to GMP (if isl is used for code generation). Currently |
Tobias Grosser | 1bb2683 | 2013-10-26 10:01:52 | [diff] [blame] | 203 | isl is still internally using GMP, but private patches exist to also remove |
| 204 | this dependency. Without the use of GMP, a <b>GPL free</b> version of Polly |
| 205 | is possible. |
Tobias Grosser | 8aa2090 | 2013-10-26 10:01:42 | [diff] [blame] | 206 | </td></tr> |
Tobias Grosser | 1bb2683 | 2013-10-26 10:01:52 | [diff] [blame] | 207 | |
Tobias Grosser | ccda0d5 | 2012-01-31 09:13:12 | [diff] [blame] | 208 | <tr><td><b>2012</b></td></tr> |
Tobias Grosser | 16242da | 2012-12-29 17:40:09 | [diff] [blame] | 209 | <tr><td width="120"><p>December</p></td> |
| 210 | <td> |
Tobias Grosser | 1bb2683 | 2013-10-26 10:01:52 | [diff] [blame] | 211 | <h4> New publication in the PPL Journal |
| 212 | </h4> |
| 213 | |
| 214 | We published a journal version of the Polly paper named |
| 215 | <em> |
| 216 | Polly - Performing polyhedral optimizations on a low-level intermediate |
| 217 | representation</em> in the Parallel Processing Letters 2012. |
Tobias Grosser | 16242da | 2012-12-29 17:40:09 | [diff] [blame] | 218 | </td></tr> |
Tobias Grosser | f6e6980 | 2012-10-07 17:43:18 | [diff] [blame] | 219 | <tr><td width="120"><p>September</p></td> |
| 220 | <td> |
Tobias Grosser | 1bb2683 | 2013-10-26 10:01:52 | [diff] [blame] | 221 | <h4>Experimental support for the <b>new isl code generator</b></h4> |
| 222 | The code generator can be parameterized on a fine-grained |
Tobias Grosser | f6e6980 | 2012-10-07 17:43:18 | [diff] [blame] | 223 | level. It gives direct control for example over unrolling, the amount of |
| 224 | control overhead and the code size. It can also be used to |
| 225 | create loops to handle border conditions or to perform full-partial tile |
| 226 | separation.<br /> |
| 227 | We also relicensed isl under the <b>MIT license</b>. This means, with the |
Tobias Grosser | ff63968 | 2012-10-12 07:44:38 | [diff] [blame] | 228 | exception of GMP (LGPL), there is no other (L)GPL licensed software used in |
| 229 | Polly. The |
Tobias Grosser | f6e6980 | 2012-10-07 17:43:18 | [diff] [blame] | 230 | use of GMP is limited to a well defined interface. Replacing it with |
| 231 | a BSD licensed replacement is a tractable engineering project we would |
| 232 | be very interested in. For more information about isl see the <a |
| 233 | href="http://www.kotnet.org/~skimo/isl/manual.pdf">isl manual</a>. |
| 234 | </p> |
| 235 | </td></tr> |
| 236 | <tr><td width="120"><p>July</p></td> |
| 237 | <td> |
| 238 | <p> Polly can now be directly linked to the <a |
| 239 | href="http://pluto-compiler.sourceforge.net/">Pluto optimizer</a>. We were |
Tobias Grosser | 556416d | 2013-12-20 09:49:24 | [diff] [blame] | 240 | already able to perform Pluto-like optimizations with Polly, as a similar |
Tobias Grosser | f6e6980 | 2012-10-07 17:43:18 | [diff] [blame] | 241 | algorithm was added to isl half a year ago. However, being able to directly |
| 242 | compare with the original implementation will not only bring in competition in |
| 243 | the optimizer field. It will also allow new experiments with a cutting edge |
| 244 | research tool.<br \> |
| 245 | This support was on of the outcomes of the 1-day Polly workshop and the |
| 246 | following week of joint work at IISC Bangalore and in cooperation with |
| 247 | AMD India. |
| 248 | </td></tr> |
| 249 | <td> |
| 250 | </td></tr> |
Tobias Grosser | be3df7b | 2012-02-20 08:41:55 | [diff] [blame] | 251 | <tr><td width="120"><p>February</p></td> |
| 252 | <td> |
| 253 | <p>Polly is an official LLVM project, reachable at <a |
| 254 | href="http://polly.llvm.org">http://polly.llvm.org</a></p> |
| 255 | </td></tr> |
Tobias Grosser | ccda0d5 | 2012-01-31 09:13:12 | [diff] [blame] | 256 | <tr><td width="120"><p>January</p></td> |
| 257 | <td> |
| 258 | <p>Improved support for the isl scheduling optimizer</p> |
Tobias Grosser | 1f1daa9 | 2012-01-31 19:54:50 | [diff] [blame] | 259 | Polly can now automatically optimize all <a |
| 260 | href="http://www.cse.ohio-state.edu/~pouchet/software/polybench/">polybench |
| 261 | 2.0</a> kernels without the help of |
| 262 | an external optimizer. The compile time is reasonable and we can show |
Tobias Grosser | ccda0d5 | 2012-01-31 09:13:12 | [diff] [blame] | 263 | notable speedups for various kernels. |
| 264 | </td></tr> |
| 265 | |
| 266 | <tr> |
| 267 | <tr><td><b><br/>2011</b></td></tr> |
Tobias Grosser | 40c163a | 2011-12-13 14:53:25 | [diff] [blame] | 268 | <tr><td width="120"><p>November</p></td> |
| 269 | <td> |
| 270 | <p> |
| 271 | Talk at the <a href="http://llvm.org/devmtg/2011-11/"> |
| 272 | LLVM Developer Meeting 2011</a></p> |
| 273 | New SCEV parser<br> |
| 274 | (Allows parameters in array subscript and max/signextend) |
| 275 | </td></tr> |
| 276 | |
| 277 | <tr> |
| 278 | <td><p>October</p></td> |
| 279 | <td> |
| 280 | <p>Polly can use the isl schedule optimizer<br> |
| 281 | (The optimizer is similar to the one in Pluto, but it is part of isl) |
| 282 | </p> |
| 283 | </td></tr> |
| 284 | |
| 285 | <tr> |
| 286 | <td><p>August</p></td> |
| 287 | <td> |
| 288 | <p> |
| 289 | <a href="example_load_Polly_into_clang.html">Use Polly as |
| 290 | clang plugin</a></p> |
| 291 | </td> |
| 292 | </tr> |
| 293 | |
| 294 | <tr> |
| 295 | <td><p>July</p></td> |
| 296 | <td> |
| 297 | <p> Polly builder as part of the <a |
Tobias Grosser | 57bc026 | 2011-10-23 11:01:07 | [diff] [blame] | 298 | href="http://lab.llvm.org:8011/console">LLVM Buildbots</a> |
Tobias Grosser | 40c163a | 2011-12-13 14:53:25 | [diff] [blame] | 299 | </p> |
| 300 | </td> |
| 301 | </tr> |
| 302 | |
| 303 | <tr> |
| 304 | <td><p>June</p></td> |
| 305 | <td> |
| 306 | <p><a href="http://www.grosser.es">Tobias</a> is founded for |
| 307 | three years by a <a |
Tobias Grosser | 1dbc8a0 | 2011-06-30 14:32:33 | [diff] [blame] | 308 | href="http://research.google.com/university/relations/fellowship_recipients.html"> |
| 309 | Google Europe Fellowship in Efficient Computing</a>. |
Tobias Grosser | 40c163a | 2011-12-13 14:53:25 | [diff] [blame] | 310 | </p> |
| 311 | </td> |
| 312 | </tr> |
| 313 | |
| 314 | <tr> |
| 315 | <td><p>May </p></td> |
| 316 | <td><p><a href="http://www.grosser.es">Tobias</a>' diploma thesis and |
Johannes Doerfert | 5aa2194 | 2014-08-13 17:49:16 | [diff] [blame] | 317 | Raghesh's master thesis. See our <a |
Tobias Grosser | 40c163a | 2011-12-13 14:53:25 | [diff] [blame] | 318 | href="publications.html">list of publications</a>.</p></td> |
| 319 | </tr> |
| 320 | |
| 321 | <tr> |
| 322 | <td><p>April</p></td> |
| 323 | <td><p>Polly moves to the LLVM infrastructure (svn, bugtracker)</p></td> |
| 324 | </tr> |
| 325 | |
| 326 | <tr> |
| 327 | <td><p>March</p></td> |
| 328 | <td><p>Presentation at <a |
| 329 | href="http://impact2011.inrialpes.fr/">CGO/IMPACT</a></p> |
| 330 | <p>Polly can compile |
| 331 | polybench 2.0 with vectorization and OpenMP code generation</p> |
| 332 | </td> |
| 333 | </tr> |
| 334 | <tr> |
| 335 | <td><p>Februar</p></td> |
| 336 | <td><p>pollycc - a script to automatically compile with |
| 337 | polyhedral optimizations </p></td> |
| 338 | </tr> |
| 339 | |
| 340 | <tr> |
| 341 | <td><p> Januar</p></td> |
| 342 | <td><p> Basic OpenMP support, Alias analysis integration, |
| 343 | Pluto/POCC support </p></td> |
| 344 | </tr> |
| 345 | |
| 346 | <tr><td><b><br>2010</b></td></tr> |
| 347 | <tr> |
| 348 | <td><p> Dezember </p></td> |
| 349 | <td><p>Basic vectorization support </p></td> |
| 350 | </tr> |
| 351 | |
| 352 | <tr> |
| 353 | <td><p> November </p></td> |
| 354 | <td><p>Talk at the <a |
| 355 | href="http://llvm.org/devmtg/2010-11/">LLVM Developer Meeting</a> </p></td> |
| 356 | </tr> |
| 357 | |
| 358 | <tr> |
| 359 | <td><p>October</p></td> |
| 360 | <td><p>Dependency analysis </p> |
| 361 | <p>Finished Phase 1 - Get something working </p> |
| 362 | <p>Support scalar dependences and sequential SCoPs </p> |
| 363 | </td> |
| 364 | </tr> |
| 365 | |
| 366 | <tr> |
| 367 | <td><p>August</p></td> |
| 368 | <td><p>RegionInfo pass committed to LLVM</p> |
| 369 | <p>llvm-test suite compiles </p> |
| 370 | </td> |
| 371 | </tr> |
| 372 | |
| 373 | <tr> |
| 374 | <td><p>July</p></td> |
| 375 | <td><p>Code generation works for normal SCoPs. </p></td> |
| 376 | </tr> |
| 377 | |
| 378 | <tr> |
Tobias Grosser | 40c163a | 2011-12-13 14:53:25 | [diff] [blame] | 379 | <td><p>May</p></td> |
| 380 | <td><p>The CLooG AST can be parsed.</p> |
| 381 | </td> |
| 382 | </tr> |
| 383 | |
| 384 | <tr> |
| 385 | <td><p>April</p></td> |
| 386 | <td><p>SCoPs can automatically be detected. </p></td> |
| 387 | </tr> |
| 388 | |
| 389 | <tr> |
| 390 | <td><p>March</p></td> |
| 391 | <td><p>The RegionInfo framework is almost completed. </p></td> |
| 392 | </tr> |
| 393 | |
| 394 | <tr> |
| 395 | <td><p>February</p></td> |
| 396 | <td><p>Translate a simple loop to Polly-IR and regenerate a loop structure |
| 397 | with CLooG works. </p> |
| 398 | <p>ISL and CLooG are integrated. </p></td> |
| 399 | </tr> |
| 400 | |
| 401 | </tr> |
| 402 | |
| 403 | <tr> |
| 404 | <td><p>January</p></td> |
| 405 | <td><p>The RegionInfo pass is finished. </p></td> |
| 406 | </tr> |
| 407 | |
| 408 | <tr><td><b><br>2009</b></td></tr> |
| 409 | <tr> |
| 410 | <td><p>End of the year</p></td> |
| 411 | <td><p>Work on the infrastructure started. </p></td> |
| 412 | </tr> |
| 413 | </table> |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 414 | </ul> |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 415 | </div> |
Tobias Grosser | ca4ca28 | 2013-12-19 22:50:10 | [diff] [blame] | 416 | </div> |
Tobias Grosser | fe6d984 | 2011-05-02 07:48:29 | [diff] [blame] | 417 | </body> |
| 418 | </html> |