]> granicus.if.org Git - clang/commit
[OPENMP] Codegen for 'firstprivate' clause in 'for' directive.
authorAlexey Bataev <a.bataev@hotmail.com>
Wed, 15 Apr 2015 04:52:20 +0000 (04:52 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Wed, 15 Apr 2015 04:52:20 +0000 (04:52 +0000)
commit4fe8cb2873a14725f920a5632c55f220824f1026
tree663631cb9b8af6deb0158cb0463c399d81ff3604
parenta966ec56a249f9a777af8aff8ffcf4e405d8fe76
[OPENMP] Codegen for 'firstprivate' clause in 'for' directive.

Adds proper codegen for 'firstprivate' clause in for directive. Initially codegen for 'firstprivate' clause was implemented for 'parallel' directive only.
Also this patch emits sync point only after initialization of firstprivate variables, not all private variables. This sync point is not required for privates, lastprivates etc., only for initialization of firstprivate variables.
Differential Revision: http://reviews.llvm.org/D8660

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@234978 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGOpenMPRuntime.cpp
lib/CodeGen/CGStmtOpenMP.cpp
lib/CodeGen/CodeGenFunction.h
lib/Sema/SemaOpenMP.cpp
test/OpenMP/for_firstprivate_codegen.cpp [new file with mode: 0644]
test/OpenMP/for_firstprivate_messages.cpp
test/OpenMP/parallel_firstprivate_codegen.cpp
test/OpenMP/parallel_private_codegen.cpp
test/OpenMP/parallel_reduction_codegen.cpp