| Polly - Polyhedral optimizations for LLVM |
| ----------------------------------------- |
| http://polly.llvm.org/ |
| |
| Polly uses a mathematical representation, the polyhedral model, to represent and |
| transform loops and other control flow structures. Using an abstract |
| representation it is possible to reason about transformations in a more general |
| way and to use highly optimized linear programming libraries to figure out the |
| optimal loop structure. These transformations can be used to do constant |
| propagation through arrays, remove dead loop iterations, optimize loops for |
| cache locality, optimize arrays, apply advanced automatic parallelization, drive |
| vectorization, or they can be used to do software pipelining. |