@@ -44,75 +44,10 @@ struct DeviceTypeClauseOps {
44
44
// TODO: Add `indirect` clause.
45
45
using DeclareTargetOperands = detail::Clauses<DeviceTypeClauseOps>;
46
46
47
- using DistributeOperands =
48
- detail::Clauses<AllocateClauseOps, DistScheduleClauseOps, OrderClauseOps,
49
- PrivateClauseOps>;
50
-
51
- using LoopNestOperands = detail::Clauses<LoopRelatedOps>;
52
-
53
- using MaskedOperands = detail::Clauses<FilterClauseOps>;
54
-
55
- using OrderedOperands = detail::Clauses<DoacrossClauseOps>;
56
-
57
- using OrderedRegionOperands = detail::Clauses<ParallelizationLevelClauseOps>;
58
-
59
- using ParallelOperands =
60
- detail::Clauses<AllocateClauseOps, IfClauseOps, NumThreadsClauseOps,
61
- PrivateClauseOps, ProcBindClauseOps, ReductionClauseOps>;
62
-
63
- using SectionsOperands = detail::Clauses<AllocateClauseOps, NowaitClauseOps,
64
- PrivateClauseOps, ReductionClauseOps>;
65
-
66
- using SimdOperands =
67
- detail::Clauses<AlignedClauseOps, IfClauseOps, LinearClauseOps,
68
- NontemporalClauseOps, OrderClauseOps, PrivateClauseOps,
69
- ReductionClauseOps, SafelenClauseOps, SimdlenClauseOps>;
70
-
71
- using SingleOperands = detail::Clauses<AllocateClauseOps, CopyprivateClauseOps,
72
- NowaitClauseOps, PrivateClauseOps>;
73
-
74
- // TODO `defaultmap`, `uses_allocators` clauses.
75
- using TargetOperands =
76
- detail::Clauses<AllocateClauseOps, DependClauseOps, DeviceClauseOps,
77
- HasDeviceAddrClauseOps, IfClauseOps, InReductionClauseOps,
78
- IsDevicePtrClauseOps, MapClauseOps, NowaitClauseOps,
79
- PrivateClauseOps, ThreadLimitClauseOps>;
80
-
81
- using TargetDataOperands =
82
- detail::Clauses<DeviceClauseOps, IfClauseOps, MapClauseOps,
83
- UseDeviceAddrClauseOps, UseDevicePtrClauseOps>;
84
-
85
- using TargetEnterExitUpdateDataOperands =
86
- detail::Clauses<DependClauseOps, DeviceClauseOps, IfClauseOps, MapClauseOps,
87
- NowaitClauseOps>;
88
-
89
- // TODO `affinity`, `detach` clauses.
90
- using TaskOperands =
91
- detail::Clauses<AllocateClauseOps, DependClauseOps, FinalClauseOps,
92
- IfClauseOps, InReductionClauseOps, MergeableClauseOps,
93
- PriorityClauseOps, PrivateClauseOps, UntiedClauseOps>;
94
-
95
- using TaskgroupOperands =
96
- detail::Clauses<AllocateClauseOps, TaskReductionClauseOps>;
97
-
98
- using TaskloopOperands =
99
- detail::Clauses<AllocateClauseOps, FinalClauseOps, GrainsizeClauseOps,
100
- IfClauseOps, InReductionClauseOps, MergeableClauseOps,
101
- NogroupClauseOps, NumTasksClauseOps, PriorityClauseOps,
102
- PrivateClauseOps, ReductionClauseOps, UntiedClauseOps>;
103
-
104
- using TaskwaitOperands = detail::Clauses<DependClauseOps, NowaitClauseOps>;
105
-
106
- using TeamsOperands =
107
- detail::Clauses<AllocateClauseOps, IfClauseOps, NumTeamsClauseOps,
108
- PrivateClauseOps, ReductionClauseOps, ThreadLimitClauseOps>;
109
-
110
- using WorkshareOperands = detail::Clauses<NowaitClauseOps>;
111
-
112
- using WsloopOperands =
113
- detail::Clauses<AllocateClauseOps, LinearClauseOps, NowaitClauseOps,
114
- OrderClauseOps, OrderedClauseOps, PrivateClauseOps,
115
- ReductionClauseOps, ScheduleClauseOps>;
47
+ // / omp.target_enter_data, omp.target_exit_data and omp.target_update take the
48
+ // / same clauses, so we give the structure to be shared by all of them a
49
+ // / representative name.
50
+ using TargetEnterExitUpdateDataOperands = TargetEnterDataOperands;
116
51
117
52
} // namespace omp
118
53
} // namespace mlir
0 commit comments