forked from OSchip/llvm-project
7031141009
SCEV based code generation allows Polly to detect and generate code for loops that do not have an explicit induction variable, but only virtual induction variables given by SCEV. Being able to do so has two main benefits: - We can detect more scops by default - We require less canonicalization before Polly, which means we get closer to our goal of not touching the IR before analyzing its properties. Specifically, we do not need to run -polly-indvars to introduce explicit canonical induction variables. This switch became possible as both the isl code generation and -polly-parallel are LNT error free with SCEV based code generation and the isl ast generator. llvm-svn: 222113 |
||
---|---|---|
.. | ||
autoconf | ||
cmake | ||
docs | ||
include | ||
lib | ||
test | ||
tools | ||
utils | ||
www | ||
.arcconfig | ||
.arclint | ||
.gitattributes | ||
.gitignore | ||
CMakeLists.txt | ||
CREDITS.txt | ||
LICENSE.txt | ||
Makefile | ||
Makefile.common.in | ||
Makefile.config.in | ||
README | ||
configure |
README
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.