diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2018-01-12 19:39:11 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2018-01-12 19:39:11 +0000 |
commit | 475a7440f193dda74291bfea7bb0179f83a07a61 (patch) | |
tree | f8793905a909f9fbf8fcba5672f7a2853654535b /clang/lib/CodeGen/CodeGenFunction.h | |
parent | 2e052793997f231f14e819a81d6bc1941e10493d (diff) | |
download | bcm5719-llvm-475a7440f193dda74291bfea7bb0179f83a07a61.tar.gz bcm5719-llvm-475a7440f193dda74291bfea7bb0179f83a07a61.zip |
[OPENMP] Replace calls of getAssociatedStmt().
getAssociatedStmt() returns the outermost captured statement for the
OpenMP directive. It may return incorrect region in case of combined
constructs. Reworked the code to reduce the number of calls of
getAssociatedStmt() and used getInnermostCapturedStmt() and
getCapturedStmt() functions instead.
In case of firstprivate variables it may lead to an extra allocas
generation for private copies even if the variable is passed by value
into outlined function and could be used directly as private copy.
llvm-svn: 322393
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h index cedf327a480..228cbe69acb 100644 --- a/clang/lib/CodeGen/CodeGenFunction.h +++ b/clang/lib/CodeGen/CodeGenFunction.h @@ -2832,6 +2832,7 @@ public: const OMPTaskDataTy & /*Data*/)> TaskGenTy; void EmitOMPTaskBasedDirective(const OMPExecutableDirective &S, + const OpenMPDirectiveKind CapturedRegion, const RegionCodeGenTy &BodyGen, const TaskGenTy &TaskGen, OMPTaskDataTy &Data); struct OMPTargetDataInfo { |