@@ -44,75 +44,10 @@ struct DeviceTypeClauseOps {
4444// TODO: Add `indirect` clause.
4545using DeclareTargetOperands = detail::Clauses<DeviceTypeClauseOps>;
4646
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;
11651
11752} // namespace omp
11853} // namespace mlir
0 commit comments