hanchenye-llvm-project/polly
Tobias Grosser 37eb422f69 Add polyhedral dead code elimination.
This pass eliminates loop iterations that compute results that are not used
later on. This can help e.g. in D, where the default zero-initialization is
often unnecessary if right after new values are assigned to an array.

Contributed-by: Peter Conn <conn.peter@gmail.com>
llvm-svn: 201817
2014-02-20 21:43:54 +00:00
..
autoconf [autoconf/cmake] Make sure we detect the latest version of isl. 2013-07-02 14:11:32 +00:00
cmake [autoconf/cmake] Make sure we detect the latest version of isl. 2013-07-02 14:11:32 +00:00
docs
include Add polyhedral dead code elimination. 2014-02-20 21:43:54 +00:00
lib Add polyhedral dead code elimination. 2014-02-20 21:43:54 +00:00
test Add polyhedral dead code elimination. 2014-02-20 21:43:54 +00:00
tools Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
utils Update to isl 1b3ba3b72c0482fd36bf0b4a1186a259f7bafeed 2014-01-26 19:36:28 +00:00
www www: Add FOSDEM presentation and Polly buildbots 2014-02-19 21:58:56 +00:00
.gitattributes gitattributes: .png and .txt are no text files 2013-07-28 09:05:20 +00:00
CMakeLists.txt cmake: Provide path to installed clang-format 2013-11-22 22:42:13 +00:00
CREDITS.txt
LICENSE.txt Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +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 [autoconf/cmake] Make sure we detect the latest version of isl. 2013-07-02 14:11:32 +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.