]> granicus.if.org Git - clang/commit
[OPENMP] Codegen for 'firstprivate' clause in 'single' directive.
authorAlexey Bataev <a.bataev@hotmail.com>
Fri, 24 Apr 2015 04:21:15 +0000 (04:21 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Fri, 24 Apr 2015 04:21:15 +0000 (04:21 +0000)
commite1bb9207529ad53c79b37fe87c0f3e7bbed90fc2
tree589755a84c33344370d81982ca7d81fe1ac3b9b7
parent4e55e7d4ed610289debcf4791fc6723e44d240b4
[OPENMP] Codegen for 'firstprivate' clause in 'single' directive.

Emit the following code for 'single' directive with 'firtstprivate' clause:

if (@__kmpc_single()) {
  <init for firstprivates>
  @__kmpc_end_single();
}
@__kmpc_cancel_barrier(); // To avoid data race in firstprivate init
Differential Revision: http://reviews.llvm.org/D9223

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@235694 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGStmtOpenMP.cpp
test/OpenMP/single_firstprivate_codegen.cpp [new file with mode: 0644]