llvm-project/polly
Sebastian Pop 9d63234ad1 ScopDetect: check region entering edges are valid.
When a region header is part of a loop, then all entering edges of this region
should not come from the loop but outside the region. Otherwise, the loop may be
only partially part of the region, which would cause troubles in handling
induction variables.

Currently, we can only model induction variables that are either fully part of
the scop (loop induction variable) or induction variables that are scop-
invariant (parameter). A loop that is only partially part of the
scop causes troubles, as there is no good way to handle the induction
variable in the independent blocks pass.

Contributed-by:    Star Tan <tanmx_star@yeah.net>
llvm-svn: 183800
2013-06-11 22:20:40 +00:00
..
autoconf 'chmod -x' on files that do not need the executable bits 2012-12-29 15:09:03 +00:00
cmake autoconf/cmake: Always require isl code generation. 2012-10-21 21:48:21 +00:00
docs
include TempScopInfo: Add code to build the scalar dependences. 2013-06-10 13:55:34 +00:00
lib ScopDetect: check region entering edges are valid. 2013-06-11 22:20:40 +00:00
test ScopDetect: check region entering edges are valid. 2013-06-11 22:20:40 +00:00
tools Reformat with clang-format 2013-05-07 07:30:56 +00:00
utils Update isl to include isl_val changes 2013-05-31 18:04:56 +00:00
www Remove .htaccess file 2013-05-21 11:58:47 +00:00
CMakeLists.txt cmake: Add target to reformat with clang-format 2013-05-07 07:30:31 +00:00
CREDITS.txt (Test commit for polly) 2011-07-16 13:30:03 +00:00
LICENSE.txt Update the copyright coredits -- Happy new year 2013! 2013-01-01 10:00:19 +00:00
Makefile Revert "Fix a bug introduced by r153739: We are not able to provide the correct" 2012-04-11 07:43:13 +00:00
Makefile.common.in 'chmod -x' on files that do not need the executable bits 2012-12-29 15:09:03 +00:00
Makefile.config.in 'chmod -x' on files that do not need the executable bits 2012-12-29 15:09:03 +00:00
README Trivial change to the README, mainly to test commit access. 2012-10-09 04:59:42 +00:00
configure do not require cloog from configure 2012-11-26 23:03:41 +00:00

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.