forked from OSchip/llvm-project
d6fc0701ee
ScalarEvolution doesn't allow the operands of an AddRec to be variant in the loop of the AddRec. When we rewrite parameter SCEVs it might seem like the new SCEV violates this property and ScalarEvolution will trigger an assertion. To avoid this we move the start part out of an AddRec when we rewrite it, thus avoid the operands to be possibly variant completely. llvm-svn: 251945 |
||
---|---|---|
.. | ||
autoconf | ||
cmake | ||
include/polly | ||
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.