forked from OSchip/llvm-project
da95a4a7c7
This change addresses three issues: - Read only scalars that enter a PHI node through an edge that comes from outside the scop are not modeled any more, as such PHI nodes will always be initialized to this initial value right before the SCoP is entered. - For PHI nodes that depend on a scalar value that is defined outside the scop, but where the scalar values is passed through an edge that itself comes from a BB that is part of the region, we introduce in this basic block a read of the out-of-scop value to ensure it's value is available to write it into the PHI alloc location. - Read only uses of scalars by PHI nodes are ignored in the general read only handling code, as they are taken care of by the general PHI node modeling code. llvm-svn: 248535 |
||
---|---|---|
.. | ||
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.