summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2018-01-12 19:39:11 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2018-01-12 19:39:11 +0000
commit475a7440f193dda74291bfea7bb0179f83a07a61 (patch)
treef8793905a909f9fbf8fcba5672f7a2853654535b /clang/lib/CodeGen/CodeGenFunction.h
parent2e052793997f231f14e819a81d6bc1941e10493d (diff)
downloadbcm5719-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.h1
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 {
OpenPOWER on IntegriCloud