forked from OSchip/llvm-project
c92c8f06ec
We need to remove one dimension. Any is correct as long as it exists. We have choosen for whatever reason the dimension #dims - 2. This is incorrect if there is just one dimension. For CLooG this case did never happen. For isl however, the case can happen and causes undefined behavior including crashes. We choose now always the last dimension #dims - 1. We could have choosen dimension '0' but the last dimension is what we remove conceptionally in the algorithm, so it seems better to actually program it that way. While at it remove another piece of undefined behavior. llvm-svn: 174894 |
||
---|---|---|
.. | ||
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 ----------------------------------------- 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.