[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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223444 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/CodeGen/CGOpenMPRuntime.cpp 19 additions, 14 deletionslib/CodeGen/CGOpenMPRuntime.cpp
- lib/CodeGen/CGOpenMPRuntime.h 27 additions, 26 deletionslib/CodeGen/CGOpenMPRuntime.h
- lib/CodeGen/CGStmtOpenMP.cpp 2 additions, 2 deletionslib/CodeGen/CGStmtOpenMP.cpp
- test/OpenMP/parallel_firstprivate_codegen.cpp 2 additions, 2 deletionstest/OpenMP/parallel_firstprivate_codegen.cpp
- test/OpenMP/parallel_private_codegen.cpp 2 additions, 2 deletionstest/OpenMP/parallel_private_codegen.cpp
Loading
Please register or sign in to comment