Overview
- Phase 3 - Improve Robustness, Interoperability and
Optimizations (ongoing)
- Polly as a LLVM Project (Finished February 2012)
- Phase 2 - First Optimizations and Enhanced User Experience (Finished
February 2012)
- Phase 1 - Get Something Working (Finished October 2010)
Individual Phases
Phase 3 - Improve Robustness, Interoperability and
Optimizations (ongoing)
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 |