2011-05-02 15:48:29 +08:00
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
|
|
|
"http://www.w3.org/TR/html4/strict.dtd">
|
|
|
|
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
|
|
|
|
<html>
|
|
|
|
<head> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
|
|
<title>Polly - Todo</title>
|
|
|
|
<link type="text/css" rel="stylesheet" href="menu.css">
|
|
|
|
<link type="text/css" rel="stylesheet" href="content.css">
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<!--#include virtual="menu.html.incl"-->
|
|
|
|
<div id="content">
|
|
|
|
|
2012-03-08 19:31:54 +08:00
|
|
|
<h2> Overview</h3>
|
|
|
|
<ul>
|
|
|
|
<li><a href="#phase3">Phase 3 - Improve Robustness, Interoperability and
|
|
|
|
Optimizations (ongoing)</a></li>
|
|
|
|
<li><a href="#llvm">Polly as a LLVM Project (Finished February 2012)</a></li>
|
|
|
|
<li><a href="#phase2">Phase 2 - First Optimizations and Enhanced User Experience (Finished
|
|
|
|
February 2012)</a></li>
|
|
|
|
<li><a href="#phase1">Phase 1 - Get Something Working (Finished October 2010)</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<h2> Individual Phases</h3>
|
|
|
|
|
|
|
|
<h3 id="phase3"> Phase 3 - Improve Robustness, Interoperability and
|
|
|
|
Optimizations (ongoing)</h3>
|
2011-05-02 15:48:29 +08:00
|
|
|
<table class="wikitable" cellpadding="2">
|
2012-03-08 19:31:54 +08:00
|
|
|
<p> </p>
|
2011-05-02 15:48:29 +08:00
|
|
|
|
2012-03-08 19:31:54 +08:00
|
|
|
<tbody>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Frontend </th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Non-affine access functions
|
|
|
|
</th><td align="center" class='done'> Done, needs testing
|
|
|
|
</td><td>Marcello
|
|
|
|
</td></tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Model integer wrapping
|
|
|
|
</th><td align="center" class='inprogress'> Planning
|
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Variable size multi-dimensional arrays
|
|
|
|
</th><td align="center" class='inprogress'> Planning
|
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Middle Part </th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Polyhedral dead code elimination
|
|
|
|
</th><td class="open">Open
|
|
|
|
</td><td>
|
|
|
|
</td></tr>
|
|
|
|
<th align="left"> Import/Export - Update to released OpenSCoP format
|
|
|
|
</th><td class="open">Open
|
|
|
|
</td><td>
|
|
|
|
</td></tr>
|
|
|
|
|
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Back End</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
|
|
|
<th align="left"> Allow optimizers to change memory access functions
|
|
|
|
</th><td class="inprogress">10% done
|
|
|
|
</td><td>Raghesh, Tobias
|
|
|
|
</td><td>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Derive optimal types (instead of always using i64)
|
|
|
|
</th><td class="open"> Waiting for code generator support
|
|
|
|
</td><td>
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Modularize the code generation to allow FPGA/GPU backends
|
|
|
|
</th><td class="inprogress">In progress
|
|
|
|
</td><td>Tobias, Ether?
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Integrate with the LLVM BBVectorizer
|
|
|
|
</th><td class="inprogress">In progress
|
|
|
|
</td><td>Sebastian
|
|
|
|
</td></tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> General</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Build against an installed LLVM
|
|
|
|
</th><td class="inprogress"> Partial <br />(cmake only, no tests)
|
|
|
|
</td><td> Ether
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Setup buildbot regression testers using LNT
|
|
|
|
</th><td class="open">Still open
|
|
|
|
</td><td>
|
|
|
|
</td><td>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</tbody></table>
|
|
|
|
<h3 id="llvm"> Polly as a LLVM Project (Finished February 2012)</h3>
|
|
|
|
|
|
|
|
<table class="wikitable" cellpadding="2">
|
|
|
|
|
|
|
|
<tbody>
|
|
|
|
<tr style="background: rgb(239, 239, 239);">
|
2011-05-14 04:51:45 +08:00
|
|
|
<th>Task
|
|
|
|
</th><th> Status
|
2011-05-02 15:48:29 +08:00
|
|
|
</th><th>Owner
|
|
|
|
</th></tr>
|
|
|
|
<tr>
|
2011-05-14 04:51:45 +08:00
|
|
|
<th align="left"> Move to LLVM SVN
|
2012-03-08 19:31:54 +08:00
|
|
|
</th><td class="done" align="center">
|
2011-05-14 04:51:45 +08:00
|
|
|
<a
|
|
|
|
href="http://llvm.org/svn/llvm-project/polly"
|
2011-05-15 03:02:51 +08:00
|
|
|
>http://llvm.org/svn/llvm-project/polly</a>
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
2011-05-14 04:51:45 +08:00
|
|
|
<th align="left"> Git mirror
|
2012-03-08 19:31:54 +08:00
|
|
|
</th><td class="done" align="center">
|
2011-05-14 04:51:45 +08:00
|
|
|
git://llvm.org/git/polly.git
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
2011-05-14 04:51:45 +08:00
|
|
|
<th align="left"> Commit mails
|
2012-03-08 19:31:54 +08:00
|
|
|
</th><td class="done" align="center">
|
2011-05-14 04:51:45 +08:00
|
|
|
llvm-commits@cs.uiuc.edu
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
|
2011-05-14 04:51:45 +08:00
|
|
|
<th align="left"> LLVM Bugzilla category
|
2012-03-08 19:31:54 +08:00
|
|
|
</th><td class="done" align="center">
|
2011-05-14 04:51:45 +08:00
|
|
|
<a href="http://llvm.org/bugs/enter_bug.cgi?product=Projects">LLVM Bugzilla</a>
|
|
|
|
<br />
|
|
|
|
(Product is 'Projects', Component is 'Polly')
|
|
|
|
</td><td> Tobias
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
2011-05-14 04:51:45 +08:00
|
|
|
<th align="left"> Website
|
2012-02-20 16:41:51 +08:00
|
|
|
</th><td class="done" align="center">
|
2012-03-08 19:31:54 +08:00
|
|
|
<a href="http://polly.llvm.org">http://polly.llvm.org</a>
|
2011-05-14 04:51:45 +08:00
|
|
|
</td><td> Tobias
|
2011-05-02 15:48:29 +08:00
|
|
|
</td></tr>
|
|
|
|
<tr>
|
2011-05-14 04:51:45 +08:00
|
|
|
<th align="left">Buildbot that runs 'make polly-test'
|
2011-07-18 17:53:35 +08:00
|
|
|
</th><td class="done" align="center">
|
2012-03-08 19:31:54 +08:00
|
|
|
<a href="http://lab.llvm.org:8011/console">Buildbot</a>
|
|
|
|
</td>
|
|
|
|
<td> Tobias, Andreas
|
2011-05-14 04:51:45 +08:00
|
|
|
</td></tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
</th><td>
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
</tbody></table>
|
2012-03-08 19:31:54 +08:00
|
|
|
<h3 id="phase2"> Phase 2 - First Optimizations and Enhanced User Experience (Finished
|
|
|
|
February 2012)</h3>
|
|
|
|
<p>
|
|
|
|
|
|
|
|
First optimizations to show the usefullness of Polly and enhance the user
|
|
|
|
experience. We also try to increase the amount of code we can optimize.
|
2011-05-02 15:48:29 +08:00
|
|
|
</p>
|
|
|
|
<table class="wikitable" cellpadding="2">
|
|
|
|
|
2012-03-08 19:31:54 +08:00
|
|
|
<tbody>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Frontend </th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left"> Allow parameters in access functions
|
|
|
|
</th><td align="center" class='done'> Done
|
|
|
|
</td><td> Tobias
|
2011-05-02 15:48:29 +08:00
|
|
|
</td></tr>
|
|
|
|
|
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left"> Improved Scalar Evolution parsing
|
|
|
|
</th><td align="center" class='done'> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left"> (Graphical) user feedback on Scop Detection
|
|
|
|
</th><td align="center" class='done'> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Middle Part </th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Dependency Analysis
|
|
|
|
</th><td class="done" align="center"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left"> Optimizer - Connect Pluto (through PoCC)
|
|
|
|
</th><td class="done" align="center"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left"> Optimizer - Add ISL internal Pluto like optimizer
|
|
|
|
</th><td class="done" align="center"> Done
|
|
|
|
</td><td> Tobias
|
2011-05-02 15:48:29 +08:00
|
|
|
</td></tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left"> Import/Export - SCoPLib 0.2 (needed for PoCC)
|
|
|
|
</th><td class="done" align="center">Done
|
2011-05-02 15:48:29 +08:00
|
|
|
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td> Tobias
|
2011-05-02 15:48:29 +08:00
|
|
|
</td></tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Back End</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left">SIMD code generation for trivially vectorizable loops
|
|
|
|
</th><td class="done">Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td>Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left">OpenMP code generation
|
|
|
|
</th><td class="done">Done
|
|
|
|
</td><td> Raghesh, Tobias
|
2011-05-02 15:48:29 +08:00
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> General</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<th align="left"> clang integration
|
|
|
|
</th><td class="done" align="center"> done
|
2011-05-02 15:48:29 +08:00
|
|
|
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
|
|
|
<th align="left"> Commit RegionPass patch upstream
|
2011-05-15 03:02:51 +08:00
|
|
|
</th><td class="done" align="center"> done
|
2011-05-02 15:48:29 +08:00
|
|
|
|
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
</tbody></table>
|
2012-03-08 19:31:54 +08:00
|
|
|
<h3 id="phase1">Phase 1 - Get Something Working (Finished October 2010)</h3>
|
|
|
|
<p>Create a minimal version of Polly that can transform an LLVM-IR program to
|
|
|
|
the polyhedral model and back to LLVM-IR. No transformations are performed.
|
2011-05-02 15:48:29 +08:00
|
|
|
</p>
|
|
|
|
<table class="wikitable" cellpadding="2">
|
|
|
|
|
2012-03-08 19:31:54 +08:00
|
|
|
<tbody>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Front End</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
|
|
|
|
<th align="left"> Region detection
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td>Ether
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Access Functions
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
|
|
|
</td><td>John, Ether
|
2011-05-02 15:48:29 +08:00
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Alias sets
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
|
|
|
</td><td>Ether
|
2011-05-02 15:48:29 +08:00
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Scalar evolution to affine expression
|
2011-05-15 03:02:51 +08:00
|
|
|
</td><td class="done"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
|
|
|
|
</td><td>
|
|
|
|
Ether
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> SCoP extraction
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
|
|
|
</td><td>Tobias, Ether
|
2011-05-02 15:48:29 +08:00
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> SCoPs to polyhedral model
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
|
|
|
</td><td>Tobias, Ether
|
2011-05-02 15:48:29 +08:00
|
|
|
</td></tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Middle Part</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
|
|
|
<th align="left"> Define polyhedral description
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td>Tobias
|
|
|
|
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
2011-05-15 03:02:51 +08:00
|
|
|
<th align="left"> Import/Export using current openscop version
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td>Tobias
|
|
|
|
</td></tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> Back End</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
|
|
|
<th align="left"> Create LLVM-IR using CLooG
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
|
|
|
|
</td></tr>
|
2012-03-08 19:31:54 +08:00
|
|
|
<tr><td colspan='4'> </td></tr>
|
|
|
|
<tr><th colspan="3" style="background: rgb(239, 239, 239);"> General</th></tr>
|
|
|
|
<tr style="background: rgb(239, 239, 239)">
|
|
|
|
<th width="400px"> Task </th>
|
|
|
|
<th width="150px"> Status </th>
|
|
|
|
<th> Owner </th>
|
|
|
|
</tr>
|
2011-05-02 15:48:29 +08:00
|
|
|
<tr>
|
|
|
|
<th align="left"> Setup git repositories
|
|
|
|
|
2011-05-15 03:02:51 +08:00
|
|
|
</td><td class="done"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
</td></tr>
|
|
|
|
<tr>
|
|
|
|
<th align="left"> Add CLooG/isl to build system
|
2012-03-08 19:31:54 +08:00
|
|
|
</td><td class="done"> Done
|
2011-05-02 15:48:29 +08:00
|
|
|
</td><td> Tobias
|
|
|
|
|
|
|
|
</td></tr></tbody></table>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|