llvm-project/polly
Tobias Grosser ebe8c8cea2 Codegen: Selectively copy in array addresses for OpenMP code
The detection of values that need to be copied in to the generated OpenMP
subfunction also detects the array base addresses needed in the SCoP. Hence, it
is not necessary to unconditionally copy all the base addresses to the generated
function.

Test cases are modified to reflect this change. Arrays which are global
variables do not occur in the struct passed to the subfunction anymore. A test
case for base address copy-in is added in copy_in_array.{c,ll}.

Committed with slight modifications

Contributed by:  Armin Groesslinger <armin.groesslinger@uni-passau.de>

llvm-svn: 167215
2012-11-01 05:34:55 +00:00
..
autoconf autoconf/cmake: Always require isl code generation. 2012-10-21 21:48:21 +00:00
cmake autoconf/cmake: Always require isl code generation. 2012-10-21 21:48:21 +00:00
docs Add initial version of Polly 2011-04-29 06:27:02 +00:00
include CodeGen: Add scop-parameters to the OpenMP context 2012-11-01 05:34:48 +00:00
lib Codegen: Selectively copy in array addresses for OpenMP code 2012-11-01 05:34:55 +00:00
test Codegen: Selectively copy in array addresses for OpenMP code 2012-11-01 05:34:55 +00:00
tools Update libGPURuntime to be dual licensed under MIT and UIUC license. 2012-07-06 10:40:15 +00:00
utils isl scheduler: Do not fail when returning an empty band list 2012-10-16 07:29:19 +00:00
www www: Correct command line that loads polly into dragonegg 2012-10-21 17:33:00 +00:00
CMakeLists.txt Introduce a separate file for CMake macros 2012-10-21 15:51:49 +00:00
CREDITS.txt (Test commit for polly) 2011-07-16 13:30:03 +00:00
LICENSE.txt Happy new year 2012! 2012-01-01 08:16:56 +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 Add initial version of Polly 2011-04-29 06:27:02 +00:00
Makefile.config.in autoconf/cmake: Always require isl code generation. 2012-10-21 21:48:21 +00:00
README Trivial change to the README, mainly to test commit access. 2012-10-09 04:59:42 +00:00
configure autoconf/cmake: Always require isl code generation. 2012-10-21 21:48:21 +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.