summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenFunction.h
diff options
context:
space:
mode:
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