Codegen: Selectively copy in array addresses for OpenMP code
authorTobias Grosser <grosser@fim.uni-passau.de>
Thu, 1 Nov 2012 05:34:55 +0000 (05:34 +0000)
committerTobias Grosser <grosser@fim.uni-passau.de>
Thu, 1 Nov 2012 05:34:55 +0000 (05:34 +0000)
commitebe8c8cea23a138441ab5ab08fe62cf47a09e9d0
tree979673ff59e56756a6cf8b5f93b676e209acf715
parent177982c478bd1344e68937a10082fd698b42a106
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
polly/lib/CodeGen/CodeGeneration.cpp
polly/test/CodeGen/OpenMP/copy_in_argument.ll
polly/test/CodeGen/OpenMP/copy_in_temporary.ll
polly/test/CodeGen/OpenMP/simple_nested_loop.ll
polly/test/CodeGen/OpenMP/structnames.ll