summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2016-04-28 09:23:51 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2016-04-28 09:23:51 +0000
commit24b5baed27af978155aea32b6a612a0b3ca8fc19 (patch)
treed55553de1c9537d7d2ab0cd9d7544102bd3183ba /clang/lib/CodeGen/CodeGenFunction.h
parent2b19a6fe539d221472c92715dc90c56cb17854bd (diff)
downloadbcm5719-llvm-24b5baed27af978155aea32b6a612a0b3ca8fc19.tar.gz
bcm5719-llvm-24b5baed27af978155aea32b6a612a0b3ca8fc19.zip
[OPENMP] Simplified interface for codegen of tasks, NFC.
Reduced number of arguments in member functions of runtime support library for task-based directives. llvm-svn: 267863
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.h')
-rw-r--r--clang/lib/CodeGen/CodeGenFunction.h15
1 files changed, 3 insertions, 12 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.h b/clang/lib/CodeGen/CodeGenFunction.h
index 8c725e267df..c1a892173f7 100644
--- a/clang/lib/CodeGen/CodeGenFunction.h
+++ b/clang/lib/CodeGen/CodeGenFunction.h
@@ -87,6 +87,7 @@ class BlockFlags;
class BlockFieldFlags;
class RegionCodeGenTy;
class TargetCodeGenInfo;
+struct OMPTaskDataTy;
/// The kind of evaluation to perform on values of a particular
/// type. Basically, is the code in CGExprScalar, CGExprComplex, or
@@ -2346,23 +2347,13 @@ public:
/// \param D Directive (possibly) with the 'linear' clause.
void EmitOMPLinearClauseInit(const OMPLoopDirective &D);
- struct OMPPrivateDataTy {
- bool Tied;
- unsigned NumberOfParts;
- SmallVector<const Expr *, 4> PrivateVars;
- SmallVector<const Expr *, 4> PrivateCopies;
- SmallVector<const Expr *, 4> FirstprivateVars;
- SmallVector<const Expr *, 4> FirstprivateCopies;
- SmallVector<const Expr *, 4> FirstprivateInits;
- SmallVector<std::pair<OpenMPDependClauseKind, const Expr *>, 4> Dependences;
- };
typedef const llvm::function_ref<void(CodeGenFunction & /*CGF*/,
llvm::Value * /*OutlinedFn*/,
- const OMPPrivateDataTy & /*Data*/)>
+ const OMPTaskDataTy & /*Data*/)>
TaskGenTy;
void EmitOMPTaskBasedDirective(const OMPExecutableDirective &S,
const RegionCodeGenTy &BodyGen,
- const TaskGenTy &TaskGen, bool Tied);
+ const TaskGenTy &TaskGen, OMPTaskDataTy &Data);
void EmitOMPParallelDirective(const OMPParallelDirective &S);
void EmitOMPSimdDirective(const OMPSimdDirective &S);
OpenPOWER on IntegriCloud