Skip to content

Commit 9f8dc70

Browse files
committed
Add support for concurrent and commutative
Combination with 'weak' is not allowed \#pragma oss task depend(mutexinoutset: a) \#pragma oss task concurrent(a) \#pragma oss task depend(inoutset: a) \#pragma oss task commutative(a) Closes llvm#38, closes llvm#44
1 parent 9818b20 commit 9f8dc70

File tree

14 files changed

+123
-19
lines changed

14 files changed

+123
-19
lines changed

clang/include/clang/Basic/DiagnosticSemaKinds.td

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9874,7 +9874,9 @@ let CategoryName = "OmpSs Issue" in {
98749874
def err_oss_unexpected_clause_value : Error<
98759875
"expected %0 in OmpSs-2 clause '%1'">;
98769876
def err_oss_depend_weak_required : Error<
9877-
"expected 'weak' clause">;
9877+
"expected 'weak' dependency type">;
9878+
def err_oss_depend_no_weak_compatible : Error<
9879+
"dependency types %0 cannot be combined with others">;
98789880
def err_oss_wrong_dsa : Error<
98799881
"%0 variable cannot be %1">;
98809882
def err_oss_array_section_use : Error<"OmpSs-2 array section is not allowed here">;

clang/include/clang/Basic/OmpSsKinds.def

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,18 @@ OMPSS_DEFAULT_KIND(shared)
5555
OMPSS_DEPEND_KIND(in)
5656
OMPSS_DEPEND_KIND(out)
5757
OMPSS_DEPEND_KIND(inout)
58+
// Concurrent
59+
OMPSS_DEPEND_KIND(mutexinoutset)
60+
// Commutative
61+
OMPSS_DEPEND_KIND(inoutset)
5862
OMPSS_DEPEND_KIND(weak)
5963

6064
// OmpSs-2 'depend' syntax aliases
6165
OMPSS_CLAUSE_ALIAS(in, depend)
6266
OMPSS_CLAUSE_ALIAS(out, depend)
6367
OMPSS_CLAUSE_ALIAS(inout, depend)
68+
OMPSS_CLAUSE_ALIAS(concurrent, depend)
69+
OMPSS_CLAUSE_ALIAS(commutative, depend)
6470
OMPSS_CLAUSE_ALIAS(weakin, depend)
6571
OMPSS_CLAUSE_ALIAS(weakout, depend)
6672
OMPSS_CLAUSE_ALIAS(weakinout, depend)
@@ -76,6 +82,8 @@ OMPSS_TASK_CLAUSE(depend)
7682
OMPSS_TASK_CLAUSE(in)
7783
OMPSS_TASK_CLAUSE(out)
7884
OMPSS_TASK_CLAUSE(inout)
85+
OMPSS_TASK_CLAUSE(concurrent)
86+
OMPSS_TASK_CLAUSE(commutative)
7987
OMPSS_TASK_CLAUSE(weakin)
8088
OMPSS_TASK_CLAUSE(weakout)
8189
OMPSS_TASK_CLAUSE(weakinout)

clang/lib/Basic/OmpSsKinds.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,14 @@ unsigned clang::getOmpSsSimpleClauseType(OmpSsClauseKind Kind,
8888
case OSSC_private:
8989
case OSSC_firstprivate:
9090
case OSSC_shared:
91+
case OSSC_in:
92+
case OSSC_out:
93+
case OSSC_inout:
94+
case OSSC_concurrent:
95+
case OSSC_commutative:
96+
case OSSC_weakin:
97+
case OSSC_weakout:
98+
case OSSC_weakinout:
9199
break;
92100
}
93101
llvm_unreachable("Invalid OmpSs simple clause kind");
@@ -122,6 +130,14 @@ const char *clang::getOmpSsSimpleClauseTypeName(OmpSsClauseKind Kind,
122130
case OSSC_private:
123131
case OSSC_firstprivate:
124132
case OSSC_shared:
133+
case OSSC_in:
134+
case OSSC_out:
135+
case OSSC_inout:
136+
case OSSC_concurrent:
137+
case OSSC_commutative:
138+
case OSSC_weakin:
139+
case OSSC_weakout:
140+
case OSSC_weakinout:
125141
break;
126142
}
127143
llvm_unreachable("Invalid OmpSs simple clause kind");

clang/lib/CodeGen/CGOmpSsRuntime.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,12 @@ void CGOmpSsRuntime::emitTaskCall(CodeGenFunction &CGF,
913913
for (const OSSDepDataTy &Dep : Data.Deps.Inouts) {
914914
EmitDependency("QUAL.OSS.DEP.INOUT", CGF, Dep, TaskInfo);
915915
}
916+
for (const OSSDepDataTy &Dep : Data.Deps.Concurrents) {
917+
EmitDependency("QUAL.OSS.DEP.CONCURRENT", CGF, Dep, TaskInfo);
918+
}
919+
for (const OSSDepDataTy &Dep : Data.Deps.Commutatives) {
920+
EmitDependency("QUAL.OSS.DEP.COMMUTATIVE", CGF, Dep, TaskInfo);
921+
}
916922
for (const OSSDepDataTy &Dep : Data.Deps.WeakIns) {
917923
EmitDependency("QUAL.OSS.DEP.WEAKIN", CGF, Dep, TaskInfo);
918924
}

clang/lib/CodeGen/CGOmpSsRuntime.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ struct OSSTaskDepDataTy final {
6161
SmallVector<OSSDepDataTy, 4> Ins;
6262
SmallVector<OSSDepDataTy, 4> Outs;
6363
SmallVector<OSSDepDataTy, 4> Inouts;
64+
SmallVector<OSSDepDataTy, 4> Concurrents;
65+
SmallVector<OSSDepDataTy, 4> Commutatives;
6466
};
6567

6668
struct OSSTaskDataTy final {

clang/lib/CodeGen/CGStmtOmpSs.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,10 @@ static void AddDepData(const OSSTaskDirective &S, OSSTaskDepDataTy &Deps) {
109109
Deps.Outs.push_back({C->isOSSSyntax(), Ref});
110110
if (DepKinds[0] == OSSC_DEPEND_inout)
111111
Deps.Inouts.push_back({C->isOSSSyntax(), Ref});
112+
if (DepKinds[0] == OSSC_DEPEND_mutexinoutset)
113+
Deps.Concurrents.push_back({C->isOSSSyntax(), Ref});
114+
if (DepKinds[0] == OSSC_DEPEND_inoutset)
115+
Deps.Commutatives.push_back({C->isOSSSyntax(), Ref});
112116
}
113117
}
114118
}

clang/lib/Parse/ParseOmpSs.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,8 @@ OSSClause *Parser::ParseOmpSsClause(OmpSsDirectiveKind DKind,
167167
case OSSC_in:
168168
case OSSC_out:
169169
case OSSC_inout:
170+
case OSSC_concurrent:
171+
case OSSC_commutative:
170172
case OSSC_weakin:
171173
case OSSC_weakout:
172174
case OSSC_weakinout:
@@ -309,6 +311,7 @@ OSSClause *Parser::ParseOmpSsVarListClause(OmpSsDirectiveKind DKind,
309311
Actions.AllowShapings =
310312
(Kind == OSSC_depend
311313
|| Kind == OSSC_in || Kind == OSSC_out || Kind == OSSC_inout
314+
|| Kind == OSSC_concurrent || Kind == OSSC_commutative
312315
|| Kind == OSSC_weakin || Kind == OSSC_weakout || Kind == OSSC_weakinout);
313316

314317
if (ParseOmpSsVarList(DKind, Kind, Vars, Data)) {

clang/lib/Sema/SemaOmpSs.cpp

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -851,6 +851,16 @@ Sema::ActOnOmpSsDependClause(ArrayRef<OmpSsDependClauseKind> DepKinds, SourceLoc
851851
if (DepKinds.size() == 2) {
852852
int numWeaks = 0;
853853
int numUnk = 0;
854+
// This is for concurrent and commutative. For now we don't allow combination
855+
// with 'weak'
856+
int numNoWeakCompats = 0;
857+
if (DepKinds[0] == OSSC_DEPEND_mutexinoutset
858+
|| DepKinds[0] == OSSC_DEPEND_inoutset)
859+
++numNoWeakCompats;
860+
if (DepKinds[1] == OSSC_DEPEND_mutexinoutset
861+
|| DepKinds[1] == OSSC_DEPEND_inoutset)
862+
++numNoWeakCompats;
863+
854864
if (DepKinds[0] == OSSC_DEPEND_weak)
855865
++numWeaks;
856866
else if (DepKinds[0] == OSSC_DEPEND_unknown)
@@ -860,23 +870,37 @@ Sema::ActOnOmpSsDependClause(ArrayRef<OmpSsDependClauseKind> DepKinds, SourceLoc
860870
else if (DepKinds[1] == OSSC_DEPEND_unknown)
861871
++numUnk;
862872

873+
// concurrent/commutative cannot be combined with other modifiers
874+
if (numNoWeakCompats) {
875+
SmallString<256> Buffer;
876+
llvm::raw_svector_ostream Out(Buffer);
877+
Out << "'" << getOmpSsSimpleClauseTypeName(OSSC_depend, OSSC_DEPEND_mutexinoutset) << "'"
878+
<< ", '" << getOmpSsSimpleClauseTypeName(OSSC_depend, OSSC_DEPEND_inoutset) << "'";
879+
Diag(DepLoc, diag::err_oss_depend_no_weak_compatible)
880+
<< Out.str();
881+
return nullptr;
882+
}
883+
863884
if (numWeaks == 0) {
864885
if (numUnk == 0 || numUnk == 1) {
865886
Diag(DepLoc, diag::err_oss_depend_weak_required);
866887
return nullptr;
867888
} else if (numUnk == 2) {
889+
unsigned Except[] = {OSSC_DEPEND_inoutset, OSSC_DEPEND_mutexinoutset};
868890
Diag(DepLoc, diag::err_oss_unexpected_clause_value)
869891
<< getListOfPossibleValues(OSSC_depend, /*First=*/0,
870-
/*Last=*/OSSC_DEPEND_unknown)
892+
/*Last=*/OSSC_DEPEND_unknown, Except)
871893
<< getOmpSsClauseName(OSSC_depend);
894+
return nullptr;
872895
}
873896
} else if ((numWeaks == 1 && numUnk == 1)
874897
|| (numWeaks == 2 && numUnk == 0)) {
875-
unsigned Except[] = {OSSC_DEPEND_weak};
898+
unsigned Except[] = {OSSC_DEPEND_weak, OSSC_DEPEND_inoutset, OSSC_DEPEND_mutexinoutset};
876899
Diag(DepLoc, diag::err_oss_unexpected_clause_value)
877900
<< getListOfPossibleValues(OSSC_depend, /*First=*/0,
878901
/*Last=*/OSSC_DEPEND_unknown, Except)
879902
<< getOmpSsClauseName(OSSC_depend);
903+
return nullptr;
880904
}
881905
} else {
882906
if (DepKinds[0] == OSSC_DEPEND_unknown
@@ -960,6 +984,14 @@ Sema::ActOnOmpSsVarListClause(
960984
Res = ActOnOmpSsDependClause({ OSSC_DEPEND_inout }, DepLoc, ColonLoc, Vars,
961985
StartLoc, LParenLoc, EndLoc, /*OSSSyntax=*/true);
962986
break;
987+
case OSSC_concurrent:
988+
Res = ActOnOmpSsDependClause({ OSSC_DEPEND_mutexinoutset }, DepLoc, ColonLoc, Vars,
989+
StartLoc, LParenLoc, EndLoc, /*OSSSyntax=*/true);
990+
break;
991+
case OSSC_commutative:
992+
Res = ActOnOmpSsDependClause({ OSSC_DEPEND_inoutset }, DepLoc, ColonLoc, Vars,
993+
StartLoc, LParenLoc, EndLoc, /*OSSSyntax=*/true);
994+
break;
963995
case OSSC_weakin:
964996
Res = ActOnOmpSsDependClause({ OSSC_DEPEND_in, OSSC_DEPEND_weak },
965997
DepLoc, ColonLoc, Vars,

clang/test/OmpSs/Sema/task_depend.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ int main(int argc, char **argv, char *env[]) {
2828
int array[10][20];
2929

3030
#pragma oss task depend // expected-error {{expected '(' after 'depend'}}
31-
#pragma oss task depend ( // expected-error {{expected 'in', 'out' or 'inout' in OmpSs-2 clause 'depend'}} expected-error {{expected ')'}} expected-note {{to match this '('}} expected-warning {{missing ':' after dependency type - ignoring}}
32-
#pragma oss task depend () // expected-error {{expected 'in', 'out' or 'inout' in OmpSs-2 clause 'depend'}} expected-warning {{missing ':' after dependency type - ignoring}}
33-
#pragma oss task depend (argc // expected-error {{expected 'in', 'out' or 'inout' in OmpSs-2 clause 'depend'}} expected-warning {{missing ':' after dependency type - ignoring}} expected-error {{expected ')'}} expected-note {{to match this '('}}
31+
#pragma oss task depend ( // expected-error {{expected 'in', 'out', 'inout', 'mutexinoutset' or 'inoutset' in OmpSs-2 clause 'depend'}} expected-error {{expected ')'}} expected-note {{to match this '('}} expected-warning {{missing ':' after dependency type - ignoring}}
32+
#pragma oss task depend () // expected-error {{expected 'in', 'out', 'inout', 'mutexinoutset' or 'inoutset' in OmpSs-2 clause 'depend'}} expected-warning {{missing ':' after dependency type - ignoring}}
33+
#pragma oss task depend (argc // expected-error {{expected 'in', 'out', 'inout', 'mutexinoutset' or 'inoutset' in OmpSs-2 clause 'depend'}} expected-warning {{missing ':' after dependency type - ignoring}} expected-error {{expected ')'}} expected-note {{to match this '('}}
3434
#pragma oss task depend (in : argc)) // expected-warning {{extra tokens at the end of '#pragma oss task' are ignored}}
3535
#pragma oss task depend (out: ) // expected-error {{expected expression}}
3636
#pragma oss task depend (out :S1) // expected-error {{'S1' does not refer to a value}}
@@ -73,6 +73,8 @@ int main(int argc, char **argv, char *env[]) {
7373
#pragma oss task in(argv[0;][;]) // expected-error {{section length is unspecified and cannot be inferred because subscripted value is not an array}}
7474
#pragma oss task in(env[0;][;]) // expected-error {{section length is unspecified and cannot be inferred because subscripted value is an array of unknown bound}}
7575
#pragma oss task in( argv[ ; argc][1 ; argc - 1]) // expected-error {{pointer types only allow one-level array sections}}
76+
#pragma oss task mutexinoutset(argc) // expected-warning {{extra tokens at the end of '#pragma oss task' are ignored}}
77+
#pragma oss task inoutset(argc) // expected-warning {{extra tokens at the end of '#pragma oss task' are ignored}}
7678

7779
#pragma oss task depend(in : arr[0])
7880
#pragma oss task depend(, // expected-error {{expected 'in', 'out', 'inout' or 'weak' in OmpSs-2 clause 'depend'}} expected-error {{expected ')'}} expected-note {{to match this '('}} expected-warning {{missing ':' after dependency type - ignoring}}
@@ -83,10 +85,13 @@ int main(int argc, char **argv, char *env[]) {
8385
#pragma oss task depend(, weak: argc) // expected-error {{expected 'in', 'out' or 'inout' in OmpSs-2 clause 'depend'}}
8486
#pragma oss task depend(weak, : argc) // expected-error {{expected 'in', 'out' or 'inout' in OmpSs-2 clause 'depend'}}
8587
#pragma oss task depend(weak, weak: argc) // expected-error {{expected 'in', 'out' or 'inout' in OmpSs-2 clause 'depend'}}
86-
#pragma oss task depend(in, in: argc) // expected-error {{expected 'weak' clause}}
87-
#pragma oss task depend(out, in: argc) // expected-error {{expected 'weak' clause}}
88+
#pragma oss task depend(in, in: argc) // expected-error {{expected 'weak' dependency type}}
89+
#pragma oss task depend(out, in: argc) // expected-error {{expected 'weak' dependency type}}
8890
#pragma oss task depend(weak, in: 1) // expected-error {{expected addressable lvalue expression, array element or array section}}
8991
#pragma oss task depend(weak, in: S2::s2)
92+
#pragma oss task depend(weak, mutexinoutset: argc) // expected-error {{dependency types 'mutexinoutset', 'inoutset' cannot be combined with others}}
93+
#pragma oss task depend(kk, inoutset: argc) // expected-error {{dependency types 'mutexinoutset', 'inoutset' cannot be combined with others}}
94+
#pragma oss task depend(kk: argc) // expected-error {{expected 'in', 'out', 'inout', 'mutexinoutset' or 'inoutset' in OmpSs-2 clause 'depend'}}
9095
foo();
9196

9297
return 0;

llvm/include/llvm/Analysis/OmpSsRegionAnalysis.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ struct TaskDependsInfo {
5151
SmallVector<DependInfo, 4> Ins;
5252
SmallVector<DependInfo, 4> Outs;
5353
SmallVector<DependInfo, 4> Inouts;
54+
SmallVector<DependInfo, 4> Concurrents;
55+
SmallVector<DependInfo, 4> Commutatives;
5456
SmallVector<DependInfo, 4> WeakIns;
5557
SmallVector<DependInfo, 4> WeakOuts;
5658
SmallVector<DependInfo, 4> WeakInouts;

llvm/include/llvm/IR/LLVMContext.h

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,17 @@ class LLVMContext {
9393
OB_oss_dep_in = 7, // "OB_oss_dep_in"
9494
OB_oss_dep_out = 8, // "OB_oss_dep_out"
9595
OB_oss_dep_inout = 9, // "OB_oss_dep_inout"
96-
OB_oss_dep_weakin = 10, // "OB_oss_dep_weakin"
97-
OB_oss_dep_weakout = 11, // "OB_oss_dep_weakout"
98-
OB_oss_dep_weakinout = 12, // "OB_oss_dep_weakinout"
99-
OB_oss_final = 13, // "OB_oss_final"
100-
OB_oss_if = 14, // "OB_oss_if"
101-
OB_oss_captured = 15, // "OB_oss_captured"
102-
OB_oss_init = 16, // "OB_oss_init"
103-
OB_oss_deinit = 17, // "OB_oss_deinit"
104-
OB_oss_copy = 18, // "OB_oss_copy"
96+
OB_oss_dep_concurrent = 10, // "OB_oss_dep_concurrent"
97+
OB_oss_dep_commutative = 11, // "OB_oss_dep_commutative"
98+
OB_oss_dep_weakin = 12, // "OB_oss_dep_weakin"
99+
OB_oss_dep_weakout = 13, // "OB_oss_dep_weakout"
100+
OB_oss_dep_weakinout = 14, // "OB_oss_dep_weakinout"
101+
OB_oss_final = 15, // "OB_oss_final"
102+
OB_oss_if = 16, // "OB_oss_if"
103+
OB_oss_captured = 17, // "OB_oss_captured"
104+
OB_oss_init = 18, // "OB_oss_init"
105+
OB_oss_deinit = 19, // "OB_oss_deinit"
106+
OB_oss_copy = 20, // "OB_oss_copy"
105107
};
106108

107109
/// getMDKindID - Return a unique non-zero ID for the specified metadata kind.

llvm/lib/Analysis/OmpSsRegionAnalysis.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,16 @@ static void gatherDependsInfo(const IntrinsicInst *I, TaskInfo &TI,
458458
TI.DependsInfo.UnpackInstructions,
459459
TI.DependsInfo.UnpackConstants,
460460
LLVMContext::OB_oss_dep_inout);
461+
gatherDependsInfoWithID(I, OI, TI.DSAInfo, TI.CapturedInfo, TAI,
462+
TI.DependsInfo.Concurrents,
463+
TI.DependsInfo.UnpackInstructions,
464+
TI.DependsInfo.UnpackConstants,
465+
LLVMContext::OB_oss_dep_concurrent);
466+
gatherDependsInfoWithID(I, OI, TI.DSAInfo, TI.CapturedInfo, TAI,
467+
TI.DependsInfo.Commutatives,
468+
TI.DependsInfo.UnpackInstructions,
469+
TI.DependsInfo.UnpackConstants,
470+
LLVMContext::OB_oss_dep_commutative);
461471

462472
gatherDependsInfoWithID(I, OI, TI.DSAInfo, TI.CapturedInfo, TAI,
463473
TI.DependsInfo.WeakIns,

llvm/lib/IR/LLVMContext.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,16 @@ LLVMContext::LLVMContext() : pImpl(new LLVMContextImpl(*this)) {
9898
"oss_dep_inout operand bundle id drifted!");
9999
(void)OSSDepInoutEntry;
100100

101+
auto *OSSDepConcurrentEntry = pImpl->getOrInsertBundleTag("QUAL.OSS.DEP.CONCURRENT");
102+
assert(OSSDepConcurrentEntry->second == LLVMContext::OB_oss_dep_concurrent &&
103+
"oss_dep_concurrent operand bundle id drifted!");
104+
(void)OSSDepConcurrentEntry;
105+
106+
auto *OSSDepCommutativeEntry = pImpl->getOrInsertBundleTag("QUAL.OSS.DEP.COMMUTATIVE");
107+
assert(OSSDepCommutativeEntry->second == LLVMContext::OB_oss_dep_commutative &&
108+
"oss_dep_commutative operand bundle id drifted!");
109+
(void)OSSDepCommutativeEntry;
110+
101111
auto *OSSDepWeakInEntry = pImpl->getOrInsertBundleTag("QUAL.OSS.DEP.WEAKIN");
102112
assert(OSSDepWeakInEntry->second == LLVMContext::OB_oss_dep_weakin &&
103113
"oss_dep_weakin operand bundle id drifted!");

llvm/lib/Transforms/OmpSs/OmpSsTransform.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,8 @@ struct OmpSs : public ModulePass {
311311
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.Ins);
312312
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.Outs);
313313
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.Inouts);
314+
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.Concurrents);
315+
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.Commutatives);
314316
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.WeakIns);
315317
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.WeakOuts);
316318
rewriteDeps(TaskArgsList, F, ConstExprToInst, TDI.WeakInouts);
@@ -345,6 +347,8 @@ struct OmpSs : public ModulePass {
345347
unpackCallToRTOfType(M, TDI.Ins, F, "read");
346348
unpackCallToRTOfType(M, TDI.Outs, F, "write");
347349
unpackCallToRTOfType(M, TDI.Inouts, F, "readwrite");
350+
unpackCallToRTOfType(M, TDI.Concurrents, F, "concurrent");
351+
unpackCallToRTOfType(M, TDI.Commutatives, F, "commutative");
348352
unpackCallToRTOfType(M, TDI.WeakIns, F, "weak_read");
349353
unpackCallToRTOfType(M, TDI.WeakOuts, F, "weak_write");
350354
unpackCallToRTOfType(M, TDI.WeakInouts, F, "weak_readwrite");
@@ -1121,8 +1125,6 @@ struct OmpSs : public ModulePass {
11211125
// Create function types
11221126
// nanos6_create_task
11231127
// nanos6_submit_task
1124-
// nanos6_register_region_write_depinfo1
1125-
// nanos6_register_region_write_depinfo1
11261128

11271129
CreateTaskFuncTy = M.getOrInsertFunction("nanos6_create_task",
11281130
Type::getVoidTy(M.getContext()),

0 commit comments

Comments
 (0)