hanchenye-llvm-project/polly
Tobias Grosser c2920ff747 DeadCodeElimination: Fix liveout computation
We move back to a simple approach where the liveout is the last must-write
statement for a data-location plus all may-write statements. The previous
approach did not work out. We would have to consider per-data-access
dependences, instead of per-statement dependences to correct it. As this adds
complexity and it seems we would not gain anything over the simpler approach
that we implement in this commit, I moved us back to the old approach of
computing the liveout, but enhanced it to also add may-write accesses.

We also fix the test case and explain why we can not perform dead code
elimination in this case.

llvm-svn: 212925
2014-07-14 08:32:01 +00:00
..
autoconf Remove OpenScop 2014-04-11 09:47:45 +00:00
cmake Remove OpenScop 2014-04-11 09:47:45 +00:00
docs
include DeadCodeElim: Compute correct liveout for non-affine accesses 2014-07-11 07:12:10 +00:00
lib DeadCodeElimination: Fix liveout computation 2014-07-14 08:32:01 +00:00
test DeadCodeElimination: Fix liveout computation 2014-07-14 08:32:01 +00:00
tools Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
utils Remove use of llvm.codegen intrinsic for GPGPU codegen 2014-06-24 08:11:36 +00:00
www www: Fix grammar. 2014-06-10 20:18:16 +00:00
.gitattributes gitattributes: .png and .txt are no text files 2013-07-28 09:05:20 +00:00
CMakeLists.txt Reorder cmake include folders (polly source first) 2014-05-28 16:54:42 +00:00
CREDITS.txt Add "Yabin Hu" to CREDITS.txt 2014-06-21 18:35:33 +00:00
LICENSE.txt Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
Makefile
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 Remove OpenScop 2014-04-11 09:47:45 +00:00
README Trivial change to the README, mainly to test commit access. 2012-10-09 04:59:42 +00:00
configure Remove OpenScop 2014-04-11 09:47:45 +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.