Skip to content

Commit e0dff6a

Browse files
ivanradanovskc7
authored andcommitted
Add coexecute directives
1 parent c56e7f2 commit e0dff6a

File tree

1 file changed

+45
-0
lines changed
  • llvm/include/llvm/Frontend/OpenMP

1 file changed

+45
-0
lines changed

llvm/include/llvm/Frontend/OpenMP/OMP.td

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,8 @@ def OMP_CancellationPoint : Directive<"cancellation point"> {
682682
let association = AS_None;
683683
let category = CA_Executable;
684684
}
685+
def OMP_Coexecute : Directive<"coexecute"> {}
686+
def OMP_EndCoexecute : Directive<"end coexecute"> {}
685687
def OMP_Critical : Directive<"critical"> {
686688
let allowedOnceClauses = [
687689
VersionedClause<OMPC_Hint>,
@@ -2198,6 +2200,33 @@ def OMP_TargetTeams : Directive<"target teams"> {
21982200
let leafConstructs = [OMP_Target, OMP_Teams];
21992201
let category = CA_Executable;
22002202
}
2203+
def OMP_TargetTeamsCoexecute : Directive<"target teams coexecute"> {
2204+
let allowedClauses = [
2205+
VersionedClause<OMPC_If>,
2206+
VersionedClause<OMPC_Map>,
2207+
VersionedClause<OMPC_Private>,
2208+
VersionedClause<OMPC_Depend>,
2209+
VersionedClause<OMPC_FirstPrivate>,
2210+
VersionedClause<OMPC_IsDevicePtr>,
2211+
VersionedClause<OMPC_HasDeviceAddr, 51>,
2212+
VersionedClause<OMPC_Reduction>,
2213+
VersionedClause<OMPC_Allocate>,
2214+
VersionedClause<OMPC_UsesAllocators, 50>,
2215+
VersionedClause<OMPC_Shared>,
2216+
VersionedClause<OMPC_OMPX_Attribute>,
2217+
];
2218+
2219+
let allowedOnceClauses = [
2220+
VersionedClause<OMPC_Device>,
2221+
VersionedClause<OMPC_NoWait>,
2222+
VersionedClause<OMPC_DefaultMap>,
2223+
VersionedClause<OMPC_Default>,
2224+
VersionedClause<OMPC_NumTeams>,
2225+
VersionedClause<OMPC_ThreadLimit>,
2226+
VersionedClause<OMPC_OMPX_DynCGroupMem>,
2227+
VersionedClause<OMPC_OMX_Bare>,
2228+
];
2229+
}
22012230
def OMP_TargetTeamsDistribute : Directive<"target teams distribute"> {
22022231
let allowedClauses = [
22032232
VersionedClause<OMPC_Allocate>,
@@ -2484,6 +2513,22 @@ def OMP_TaskLoopSimd : Directive<"taskloop simd"> {
24842513
let leafConstructs = [OMP_TaskLoop, OMP_Simd];
24852514
let category = CA_Executable;
24862515
}
2516+
def OMP_TeamsCoexecute : Directive<"teams coexecute"> {
2517+
let allowedClauses = [
2518+
VersionedClause<OMPC_Private>,
2519+
VersionedClause<OMPC_FirstPrivate>,
2520+
VersionedClause<OMPC_Shared>,
2521+
VersionedClause<OMPC_Reduction>,
2522+
VersionedClause<OMPC_Allocate>,
2523+
VersionedClause<OMPC_OMPX_Attribute>,
2524+
];
2525+
let allowedOnceClauses = [
2526+
VersionedClause<OMPC_Default>,
2527+
VersionedClause<OMPC_If, 52>,
2528+
VersionedClause<OMPC_NumTeams>,
2529+
VersionedClause<OMPC_ThreadLimit>
2530+
];
2531+
}
24872532
def OMP_TeamsDistribute : Directive<"teams distribute"> {
24882533
let allowedClauses = [
24892534
VersionedClause<OMPC_Allocate>,

0 commit comments

Comments
 (0)