From 6befe6ec500b276e47739505ece92a5e648cd75e Mon Sep 17 00:00:00 2001 From: Thierry <thierry.gautier@inrialpes.fr> Date: Fri, 13 Jan 2017 16:37:42 +0100 Subject: [PATCH] [add] cw depend mode --- include/clang/Basic/OpenMPKinds.def | 1 + lib/CodeGen/CGOpenMPRuntime.cpp | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/clang/Basic/OpenMPKinds.def b/include/clang/Basic/OpenMPKinds.def index d56210d4ae4..143cb3fb609 100644 --- a/include/clang/Basic/OpenMPKinds.def +++ b/include/clang/Basic/OpenMPKinds.def @@ -348,6 +348,7 @@ OPENMP_AFFINITY_KIND(thread) OPENMP_DEPEND_KIND(in) OPENMP_DEPEND_KIND(out) OPENMP_DEPEND_KIND(inout) +OPENMP_DEPEND_KIND(cw) OPENMP_DEPEND_KIND(source) OPENMP_DEPEND_KIND(sink) diff --git a/lib/CodeGen/CGOpenMPRuntime.cpp b/lib/CodeGen/CGOpenMPRuntime.cpp index 88b9f30ebc5..c5f72e518dd 100644 --- a/lib/CodeGen/CGOpenMPRuntime.cpp +++ b/lib/CodeGen/CGOpenMPRuntime.cpp @@ -4032,7 +4032,7 @@ void CGOpenMPRuntime::emitTaskCall(CodeGenFunction &CGF, SourceLocation Loc, unsigned NumDependencies = Data.Dependences.size(); if (NumDependencies) { // Dependence kind for RTL. - enum RTLDependenceKindTy { DepIn = 0x01, DepInOut = 0x3 }; + enum RTLDependenceKindTy { DepIn = 0x01, DepOut = 0x02, DepInOut = 0x3, DepCW = 0x04 }; enum RTLDependInfoFieldsTy { BaseAddr, Len, Flags }; RecordDecl *KmpDependInfoRD; QualType FlagsTy = @@ -4096,6 +4096,9 @@ void CGOpenMPRuntime::emitTaskCall(CodeGenFunction &CGF, SourceLocation Loc, case OMPC_DEPEND_inout: DepKind = DepInOut; break; + case OMPC_DEPEND_cw: + DepKind = DepCW; + break; case OMPC_DEPEND_source: case OMPC_DEPEND_sink: case OMPC_DEPEND_unknown: -- GitLab