[OPENMP] Codegen for 'omp barrier' directive.
authorAlexey Bataev <a.bataev@hotmail.com>
Fri, 5 Dec 2014 04:09:23 +0000 (04:09 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Fri, 5 Dec 2014 04:09:23 +0000 (04:09 +0000)
commit8f7c1b0b9dc1117d08322b67e89e40bdccaa21c3
tree93c9e57fe7f3aba8a2598d353e48c81f79590e8c
parent1d21a07ca11b79694b4bcade1ebcef14254fb431
[OPENMP] Codegen for 'omp barrier' directive.
Adds generation of call to "i32 kmpc_cancel_barrier(ident_t *, i32)" libcall for explicitly specified barriers (OMP_IDENT_BARRIER_EXPL flag is added to "flags" field of "ident_t" structure).
Also this patch replaces all calls to "kmpc_barrier" function by calls of "__kmpc_cancel_barrier" function which provides additional functionality for OpenMP 4.0.
Also, library specific enum OpenMPLocationFlags moved to private section of CGOpenMPRuntime class to make it more independent from library implementation.
Differential Revision: http://reviews.llvm.org/D6447

llvm-svn: 223444
clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/lib/CodeGen/CGOpenMPRuntime.h
clang/lib/CodeGen/CGStmtOpenMP.cpp
clang/test/OpenMP/parallel_firstprivate_codegen.cpp
clang/test/OpenMP/parallel_private_codegen.cpp