forked from OSchip/llvm-project
25184fe925
Cast instruction do not have side effects and can consequently be part of a scop. We special cased them earlier, as they may be problematic within array subscripts or loop bounds. However, the scalar evolution validator already checks for them such that there is no need to also check the instructions within the basic blocks. Checking them is actually overly conservative as the precence of casts may invalidate a scop, even though scalar evolution is not influenced by it. llvm-svn: 160261 |
||
---|---|---|
.. | ||
autoconf | ||
cmake | ||
docs | ||
include | ||
lib | ||
test | ||
tools | ||
utils | ||
www | ||
CMakeLists.txt | ||
CREDITS.txt | ||
LICENSE.txt | ||
Makefile | ||
Makefile.common.in | ||
Makefile.config.in | ||
README | ||
configure |
README
Polly - Polyhedral optimizations for LLVM 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.