hanchenye-llvm-project/polly
Tim Shen 63f244c4f4 [SCEV] Re-apply r335197 (with Polly fixes).
Summary:
This initiates a discussion on changing Polly accordingly while re-applying r335197 (D48338).

I have never worked on Polly. The proposed change to param_div_div_div_2.ll is not educated, but just patterns that match the output.

All LLVM files are already reviewed in D48338.

Reviewers: jdoerfert, bollu, efriedma

Subscribers: jlebar, sanjoy, hiraditya, llvm-commits, bixia

Differential Revision: https://reviews.llvm.org/D48453

llvm-svn: 335292
2018-06-21 21:29:54 +00:00
..
cmake [CMake] Use only keyword-version of target_link_library. NFC. 2018-01-12 16:09:18 +00:00
docs [doc] Overhaul doc on preparing IR for processing by Polly. 2018-04-06 19:24:18 +00:00
include/polly [OpTree] Introduce shortcut for computing the def->target mapping. NFCI. 2018-06-06 21:37:35 +00:00
lib Move ScopInfo to isl++ 2018-06-19 08:13:53 +00:00
test [SCEV] Re-apply r335197 (with Polly fixes). 2018-06-21 21:29:54 +00:00
tools Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
unittests Remove the last uses of isl::give and isl::take 2018-04-29 00:28:26 +00:00
utils [arc] Remove unittesting from arcconfig 2018-05-15 13:43:42 +00:00
www [Polly] Information about generalized matrix multiplication 2017-09-24 19:00:25 +00:00
.arcconfig [arc] Remove unittesting from arcconfig 2018-05-15 13:43:42 +00:00
.arclint [External] Move lib/JSON to lib/External/JSON. NFC. 2017-02-05 15:26:56 +00:00
.gitattributes
.gitignore
CMakeLists.txt Back out of GPU Codegen if NVPTX is not available 2018-06-07 21:10:49 +00:00
CREDITS.txt
LICENSE.txt [External] Move lib/JSON to lib/External/JSON. NFC. 2017-02-05 15:26:56 +00:00
README Test commit 2017-06-28 12:58:44 +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.