Overview

Individual Phases

Phase 3 - Improve Robustness, Interoperability and Optimizations (ongoing)

Frontend
Task Status Owner
Non-affine access functions Done, needs testing Marcello
Finer grained statements Open
Model integer wrapping Open
Variable-size multi-dimensional arrays Open
Derive information for the SCoP context Open
 
Optimizer
Task Status Owner
Polyhedral dead code elimination Open
OpenSCoP Import/Export - Update to current version Open
 
Back End
Task Status Owner
Allow optimizers to change memory access functions 10% done
Derive optimal types (instead of always using i64) Requires code generator support
Remove the need for independent blocks Open
Make code generation independent of the clast Open
Integrate with the LLVM BBVectorizer Open
GPGPU Code Generation In Design
 
General
Task Status Owner
Add FORTRAN Support to the LLVM test suite Open
Add Polybench 3.2 to the LLVM test suite Open
Build against an installed LLVM Partial
(cmake only, no tests)
Setup buildbot regression testers using LNT In progress Tobias

Polly as a LLVM Project (Finished February 2012)

Task Status Owner
Move to LLVM SVN http://llvm.org/svn/llvm-project/polly Tobias
Git mirror git://llvm.org/git/polly.git Tobias
Commit mails llvm-commits@cs.uiuc.edu Tobias
LLVM Bugzilla category LLVM Bugzilla
(Product is 'Projects', Component is 'Polly')
Tobias
Website http://polly.llvm.org Tobias
Buildbot that runs 'make polly-test' Buildbot Tobias, Andreas

Phase 2 - First Optimizations and Enhanced User Experience (Finished February 2012)

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.

Frontend
Task Status Owner
Allow parameters in access functions Done Tobias
Improved Scalar Evolution parsing Done Tobias
(Graphical) user feedback on Scop Detection Done Tobias
 
Optimizer
Task Status Owner
Dependency Analysis Done Tobias
Optimizer - Connect Pluto (through PoCC) Done Tobias
Optimizer - Add ISL internal Pluto like optimizer Done Tobias
Import/Export - SCoPLib 0.2 (needed for PoCC) Done Tobias
 
Back End
Task Status Owner
SIMD code generation for trivially vectorizable loops Done Tobias
OpenMP code generation Done Raghesh, Tobias
 
General
Task Status Owner
clang integration done Tobias
Commit RegionPass patch upstream done Tobias

Phase 1 - Get Something Working (Finished October 2010)

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.

Front End
Task Status Owner
Region detection Done Ether
Access Functions Done John, Ether
Alias sets Done Ether
Scalar evolution to affine expression Done Ether
SCoP extraction Done Tobias, Ether
SCoPs to polyhedral model Done Tobias, Ether
 
Optimizer
Task Status Owner
Define polyhedral description Done Tobias
Import/Export using current openscop version Done Tobias
 
Back End
Task Status Owner
Create LLVM-IR using CLooG Done Tobias
 
General
Task Status Owner
Setup git repositories Done Tobias
Add CLooG/isl to build system Done Tobias