hanchenye-llvm-project/polly
Tobias Grosser d58acf866a [GPGPU] Ensure arrays where only parts are modified are copied to GPU
To do so we change the way array exents are computed. Instead of the precise
set of memory locations accessed, we now compute the extent as the range between
minimal and maximal address in the first dimension and the full extent defined
by the sizes of the inner array dimensions.

We also move the computation of the may_persist region after the construction
of the arrays, as it relies on array information. Without arrays being
constructed no useful information is computed at all.

llvm-svn: 278212
2016-08-10 10:58:19 +00:00
..
cmake Respect LLVM_INSTALL_TOOLCHAIN_ONLY. 2016-06-21 18:14:01 +00:00
docs docs: Remove reference to PoCC 2016-05-17 19:44:16 +00:00
include/polly [IslNodeBuilder] Move run-time check generation to NodeBuilder [NFC] 2016-08-08 15:41:52 +00:00
lib [GPGPU] Ensure arrays where only parts are modified are copied to GPU 2016-08-10 10:58:19 +00:00
test [GPGPU] Ensure arrays where only parts are modified are copied to GPU 2016-08-10 10:58:19 +00:00
tools GPGPU: Cache PTX kernels 2016-08-04 09:15:58 +00:00
utils Revise polly-{update|check}-format targets 2015-09-14 16:59:50 +00:00
www Fix spacing around variable initializations and for-loops. NFC. 2016-08-09 17:49:24 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.arclint Adjusted arc linter config for modern version of arcanist 2015-08-12 09:01:16 +00:00
.gitattributes
.gitignore Add git patch files to .gitignore 2015-06-23 20:55:01 +00:00
CMakeLists.txt GPGPU: Shorten ppcg include paths to avoid conflict with cuda.h 2016-07-15 07:50:36 +00:00
CREDITS.txt
LICENSE.txt Update copyright year to 2016. 2016-03-30 22:41:38 +00:00
README

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.