Skip to content

Commit 759ca74

Browse files
ivanradanovskc7
authored andcommitted
Add coexecute directives
1 parent 9c67ae8 commit 759ca74

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
@@ -667,6 +667,7 @@ def OMP_CancellationPoint : Directive<"cancellation point"> {
667667
let association = AS_None;
668668
let category = CA_Executable;
669669
}
670+
def OMP_Coexecute : Directive<"coexecute"> {}
670671
def OMP_Critical : Directive<"critical"> {
671672
let allowedOnceClauses = [
672673
VersionedClause<OMPC_Hint>,
@@ -717,6 +718,7 @@ def OMP_DeclareTarget : Directive<"declare target"> {
717718
let association = AS_None;
718719
let category = CA_Declarative;
719720
}
721+
def OMP_EndCoexecute : Directive<"end coexecute"> {}
720722
def OMP_EndDeclareTarget : Directive<"end declare target"> {
721723
let association = AS_Delimited;
722724
let category = OMP_DeclareTarget.category;
@@ -2168,6 +2170,33 @@ def OMP_TargetTeams : Directive<"target teams"> {
21682170
let leafConstructs = [OMP_Target, OMP_Teams];
21692171
let category = CA_Executable;
21702172
}
2173+
def OMP_TargetTeamsCoexecute : Directive<"target teams coexecute"> {
2174+
let allowedClauses = [
2175+
VersionedClause<OMPC_If>,
2176+
VersionedClause<OMPC_Map>,
2177+
VersionedClause<OMPC_Private>,
2178+
VersionedClause<OMPC_Depend>,
2179+
VersionedClause<OMPC_FirstPrivate>,
2180+
VersionedClause<OMPC_IsDevicePtr>,
2181+
VersionedClause<OMPC_HasDeviceAddr, 51>,
2182+
VersionedClause<OMPC_Reduction>,
2183+
VersionedClause<OMPC_Allocate>,
2184+
VersionedClause<OMPC_UsesAllocators, 50>,
2185+
VersionedClause<OMPC_Shared>,
2186+
VersionedClause<OMPC_OMPX_Attribute>,
2187+
];
2188+
2189+
let allowedOnceClauses = [
2190+
VersionedClause<OMPC_Device>,
2191+
VersionedClause<OMPC_NoWait>,
2192+
VersionedClause<OMPC_DefaultMap>,
2193+
VersionedClause<OMPC_Default>,
2194+
VersionedClause<OMPC_NumTeams>,
2195+
VersionedClause<OMPC_ThreadLimit>,
2196+
VersionedClause<OMPC_OMPX_DynCGroupMem>,
2197+
VersionedClause<OMPC_OMX_Bare>,
2198+
];
2199+
}
21712200
def OMP_TargetTeamsDistribute : Directive<"target teams distribute"> {
21722201
let allowedClauses = [
21732202
VersionedClause<OMPC_Allocate>,
@@ -2446,6 +2475,22 @@ def OMP_TaskLoopSimd : Directive<"taskloop simd"> {
24462475
let leafConstructs = [OMP_TaskLoop, OMP_Simd];
24472476
let category = CA_Executable;
24482477
}
2478+
def OMP_TeamsCoexecute : Directive<"teams coexecute"> {
2479+
let allowedClauses = [
2480+
VersionedClause<OMPC_Private>,
2481+
VersionedClause<OMPC_FirstPrivate>,
2482+
VersionedClause<OMPC_Shared>,
2483+
VersionedClause<OMPC_Reduction>,
2484+
VersionedClause<OMPC_Allocate>,
2485+
VersionedClause<OMPC_OMPX_Attribute>,
2486+
];
2487+
let allowedOnceClauses = [
2488+
VersionedClause<OMPC_Default>,
2489+
VersionedClause<OMPC_If, 52>,
2490+
VersionedClause<OMPC_NumTeams>,
2491+
VersionedClause<OMPC_ThreadLimit>
2492+
];
2493+
}
24492494
def OMP_TeamsDistribute : Directive<"teams distribute"> {
24502495
let allowedClauses = [
24512496
VersionedClause<OMPC_Allocate>,

0 commit comments

Comments
 (0)