175805378STobias GrosserPolly - Polyhedral optimizations for LLVM 2*1646a6ecSSameer Sahasrabuddhe----------------------------------------- 3*1646a6ecSSameer Sahasrabuddhehttp://polly.llvm.org/ 475805378STobias Grosser 575805378STobias GrosserPolly uses a mathematical representation, the polyhedral model, to represent and 675805378STobias Grossertransform loops and other control flow structures. Using an abstract 775805378STobias Grosserrepresentation it is possible to reason about transformations in a more general 875805378STobias Grosserway and to use highly optimized linear programming libraries to figure out the 975805378STobias Grosseroptimal loop structure. These transformations can be used to do constant 1075805378STobias Grosserpropagation through arrays, remove dead loop iterations, optimize loops for 1175805378STobias Grossercache locality, optimize arrays, apply advanced automatic parallelization, drive 1275805378STobias Grosservectorization, or they can be used to do software pipelining. 13