diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2015-04-14 03:29:22 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2015-04-14 03:29:22 +0000 |
commit | 68adb7da1abdca258ccfb87e929a42fd7e7af940 (patch) | |
tree | 8d33a6d55ad69864f95330b8812950c179a8dea3 /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 87afdeb8f56c4c71a8d121d87bda7955460e67b4 (diff) | |
download | llvm-68adb7da1abdca258ccfb87e929a42fd7e7af940.zip llvm-68adb7da1abdca258ccfb87e929a42fd7e7af940.tar.gz llvm-68adb7da1abdca258ccfb87e929a42fd7e7af940.tar.bz2 |
[OPENMP] Initial codegen for 'parallel sections' directive.
Emits code for outlined 'parallel' directive with the implicitly inlined 'sections' directive:
...
call __kmpc_fork_call(..., outlined_function, ...);
...
define internal void outlined_function(...) {
<code for implicit sections directive>;
}
Differential Revision: http://reviews.llvm.org/D8997
llvm-svn: 234849
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index 087acc7..6ba3db0 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -2085,15 +2085,16 @@ public: void EmitOMPTargetDirective(const OMPTargetDirective &S); void EmitOMPTeamsDirective(const OMPTeamsDirective &S); + void + EmitOMPInnerLoop(const Stmt &S, bool RequiresCleanup, const Expr *LoopCond, + const Expr *IncExpr, + const llvm::function_ref<void(CodeGenFunction &)> &BodyGen); + private: /// Helpers for the OpenMP loop directives. void EmitOMPLoopBody(const OMPLoopDirective &Directive, bool SeparateIter = false); - void - EmitOMPInnerLoop(const Stmt &S, bool RequiresCleanup, const Expr *LoopCond, - const Expr *IncExpr, - const llvm::function_ref<void(CodeGenFunction &)> &BodyGen); void EmitOMPSimdFinal(const OMPLoopDirective &S); void EmitOMPWorksharingLoop(const OMPLoopDirective &S); void EmitOMPForOuterLoop(OpenMPScheduleClauseKind ScheduleKind, |