hanchenye-llvm-project/polly
Tobias Grosser 1b6ea573f2 Replace low-level constraint building with higher level functions
Instead of explicitly building constraints and adding them to our maps we
now use functions like map_order_le to add the relevant information to the
maps.

llvm-svn: 237934
2015-05-21 19:02:44 +00:00
..
autoconf Drop libpluto support 2015-03-30 17:54:01 +00:00
cmake Drop libpluto support 2015-03-30 17:54:01 +00:00
include Add diagnostic for unsigned integer comparisions 2015-05-20 15:37:11 +00:00
lib Replace low-level constraint building with higher level functions 2015-05-21 19:02:44 +00:00
test Use base-pointer address space when creating new access functions 2015-05-20 11:02:12 +00:00
tools Fix formatting issues in banner 2015-04-27 12:02:36 +00:00
utils Rename 'scattering' to 'schedule' 2015-04-21 11:37:25 +00:00
www Rename 'scattering' to 'schedule' 2015-04-21 11:37:25 +00:00
.arcconfig Added arcanist (arc) unit test support 2014-09-08 19:30:09 +00:00
.arclint Added arcanist linters and cleaned errors and warnings 2014-08-18 00:40:13 +00:00
.gitattributes
.gitignore Add test/lit.site.cfg to .gitignore 2014-09-07 15:03:30 +00:00
CMakeLists.txt [cmake] Remove two unused include paths 2015-05-06 12:28:23 +00:00
CREDITS.txt Add myself to the credits 2014-08-10 03:37:29 +00:00
LICENSE.txt Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
Makefile
Makefile.common.in
Makefile.config.in Drop libpluto support 2015-03-30 17:54:01 +00:00
README
configure Drop libpluto support 2015-03-30 17:54:01 +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.