@@ -24,68 +24,80 @@ namespace llvm::omp {
2424// - all<Directive>Set: All standalone or combined uses of the directive.
2525
2626static const OmpDirectiveSet topParallelSet{
27- Directive::OMPD_parallel,
28- Directive::OMPD_parallel_do,
2927 Directive::OMPD_parallel_do_simd,
28+ Directive::OMPD_parallel_do,
29+ Directive::OMPD_parallel_masked_taskloop_simd,
30+ Directive::OMPD_parallel_masked_taskloop,
31+ Directive::OMPD_parallel_master_taskloop_simd,
32+ Directive::OMPD_parallel_master_taskloop,
3033 Directive::OMPD_parallel_sections,
3134 Directive::OMPD_parallel_workshare,
35+ Directive::OMPD_parallel,
3236};
3337
3438static const OmpDirectiveSet allParallelSet{
35- Directive::OMPD_distribute_parallel_do,
36- Directive::OMPD_distribute_parallel_do_simd,
37- Directive::OMPD_parallel,
38- Directive::OMPD_parallel_do,
39- Directive::OMPD_parallel_do_simd,
40- Directive::OMPD_parallel_sections,
41- Directive::OMPD_parallel_workshare,
42- Directive::OMPD_target_parallel,
43- Directive::OMPD_target_parallel_do,
44- Directive::OMPD_target_parallel_do_simd,
45- Directive::OMPD_target_teams_distribute_parallel_do,
46- Directive::OMPD_target_teams_distribute_parallel_do_simd,
47- Directive::OMPD_teams_distribute_parallel_do,
48- Directive::OMPD_teams_distribute_parallel_do_simd,
39+ OmpDirectiveSet{
40+ Directive::OMPD_distribute_parallel_do_simd,
41+ Directive::OMPD_distribute_parallel_do,
42+ Directive::OMPD_target_parallel_do_simd,
43+ Directive::OMPD_target_parallel_do,
44+ Directive::OMPD_target_parallel,
45+ Directive::OMPD_target_teams_distribute_parallel_do_simd,
46+ Directive::OMPD_target_teams_distribute_parallel_do,
47+ Directive::OMPD_teams_distribute_parallel_do_simd,
48+ Directive::OMPD_teams_distribute_parallel_do,
49+ } | topParallelSet,
4950};
5051
5152static const OmpDirectiveSet topDoSet{
52- Directive::OMPD_do,
5353 Directive::OMPD_do_simd,
54+ Directive::OMPD_do,
5455};
5556
5657static const OmpDirectiveSet allDoSet{
57- Directive::OMPD_distribute_parallel_do,
58- Directive::OMPD_distribute_parallel_do_simd,
59- Directive::OMPD_parallel_do ,
60- Directive::OMPD_parallel_do_simd,
61- Directive::OMPD_do ,
62- Directive::OMPD_do_simd ,
63- Directive::OMPD_target_parallel_do,
64- Directive::OMPD_target_parallel_do_simd ,
65- Directive::OMPD_target_teams_distribute_parallel_do,
66- Directive::OMPD_target_teams_distribute_parallel_do_simd ,
67- Directive::OMPD_teams_distribute_parallel_do,
68- Directive::OMPD_teams_distribute_parallel_do_simd ,
58+ OmpDirectiveSet{
59+ Directive::OMPD_distribute_parallel_do_simd,
60+ Directive::OMPD_distribute_parallel_do ,
61+ Directive::OMPD_parallel_do_simd,
62+ Directive::OMPD_parallel_do ,
63+ Directive::OMPD_target_parallel_do_simd ,
64+ Directive::OMPD_target_parallel_do,
65+ Directive::OMPD_target_teams_distribute_parallel_do_simd ,
66+ Directive::OMPD_target_teams_distribute_parallel_do,
67+ Directive::OMPD_teams_distribute_parallel_do_simd ,
68+ Directive::OMPD_teams_distribute_parallel_do,
69+ } | topDoSet ,
6970};
7071
7172static const OmpDirectiveSet topTaskloopSet{
72- Directive::OMPD_taskloop,
7373 Directive::OMPD_taskloop_simd,
74+ Directive::OMPD_taskloop,
7475};
7576
76- static const OmpDirectiveSet allTaskloopSet{topTaskloopSet};
77+ static const OmpDirectiveSet allTaskloopSet{
78+ OmpDirectiveSet{
79+ Directive::OMPD_masked_taskloop_simd,
80+ Directive::OMPD_masked_taskloop,
81+ Directive::OMPD_master_taskloop_simd,
82+ Directive::OMPD_master_taskloop,
83+ Directive::OMPD_parallel_masked_taskloop_simd,
84+ Directive::OMPD_parallel_masked_taskloop,
85+ Directive::OMPD_parallel_master_taskloop_simd,
86+ Directive::OMPD_parallel_master_taskloop,
87+ } | topTaskloopSet,
88+ };
7789
7890static const OmpDirectiveSet topTargetSet{
79- Directive::OMPD_target,
80- Directive::OMPD_target_parallel,
81- Directive::OMPD_target_parallel_do,
8291 Directive::OMPD_target_parallel_do_simd,
92+ Directive::OMPD_target_parallel_do,
93+ Directive::OMPD_target_parallel,
8394 Directive::OMPD_target_simd,
84- Directive::OMPD_target_teams,
85- Directive::OMPD_target_teams_distribute,
86- Directive::OMPD_target_teams_distribute_parallel_do,
8795 Directive::OMPD_target_teams_distribute_parallel_do_simd,
96+ Directive::OMPD_target_teams_distribute_parallel_do,
8897 Directive::OMPD_target_teams_distribute_simd,
98+ Directive::OMPD_target_teams_distribute,
99+ Directive::OMPD_target_teams,
100+ Directive::OMPD_target,
89101};
90102
91103static const OmpDirectiveSet allTargetSet{topTargetSet};
@@ -95,61 +107,61 @@ static const OmpDirectiveSet topSimdSet{
95107};
96108
97109static const OmpDirectiveSet allSimdSet{
98- Directive::OMPD_distribute_parallel_do_simd,
99- Directive::OMPD_distribute_simd,
100- Directive::OMPD_do_simd,
101- Directive::OMPD_parallel_do_simd,
102- Directive::OMPD_simd,
103- Directive::OMPD_target_parallel_do_simd,
104- Directive::OMPD_target_simd,
105- Directive::OMPD_target_teams_distribute_parallel_do_simd,
106- Directive::OMPD_target_teams_distribute_simd,
107- Directive::OMPD_taskloop_simd,
108- Directive::OMPD_teams_distribute_parallel_do_simd,
109- Directive::OMPD_teams_distribute_simd,
110+ OmpDirectiveSet{
111+ Directive::OMPD_distribute_parallel_do_simd,
112+ Directive::OMPD_distribute_simd,
113+ Directive::OMPD_do_simd,
114+ Directive::OMPD_masked_taskloop_simd,
115+ Directive::OMPD_master_taskloop_simd,
116+ Directive::OMPD_parallel_do_simd,
117+ Directive::OMPD_parallel_masked_taskloop_simd,
118+ Directive::OMPD_parallel_master_taskloop_simd,
119+ Directive::OMPD_target_parallel_do_simd,
120+ Directive::OMPD_target_simd,
121+ Directive::OMPD_target_teams_distribute_parallel_do_simd,
122+ Directive::OMPD_target_teams_distribute_simd,
123+ Directive::OMPD_taskloop_simd,
124+ Directive::OMPD_teams_distribute_parallel_do_simd,
125+ Directive::OMPD_teams_distribute_simd,
126+ } | topSimdSet,
110127};
111128
112129static const OmpDirectiveSet topTeamsSet{
113- Directive::OMPD_teams,
114- Directive::OMPD_teams_distribute,
115- Directive::OMPD_teams_distribute_parallel_do,
116130 Directive::OMPD_teams_distribute_parallel_do_simd,
131+ Directive::OMPD_teams_distribute_parallel_do,
117132 Directive::OMPD_teams_distribute_simd,
133+ Directive::OMPD_teams_distribute,
134+ Directive::OMPD_teams,
118135};
119136
120137static const OmpDirectiveSet allTeamsSet{
121- llvm::omp::OMPD_target_teams,
122- llvm::omp::OMPD_target_teams_distribute,
123- llvm::omp::OMPD_target_teams_distribute_parallel_do,
124- llvm::omp::OMPD_target_teams_distribute_parallel_do_simd,
125- llvm::omp::OMPD_target_teams_distribute_simd,
126- llvm::omp::OMPD_teams,
127- llvm::omp::OMPD_teams_distribute,
128- llvm::omp::OMPD_teams_distribute_parallel_do,
129- llvm::omp::OMPD_teams_distribute_parallel_do_simd,
130- llvm::omp::OMPD_teams_distribute_simd,
138+ OmpDirectiveSet{
139+ llvm::omp::OMPD_target_teams_distribute_parallel_do_simd,
140+ llvm::omp::OMPD_target_teams_distribute_parallel_do,
141+ llvm::omp::OMPD_target_teams_distribute_simd,
142+ llvm::omp::OMPD_target_teams_distribute,
143+ llvm::omp::OMPD_target_teams,
144+ } | topTeamsSet,
131145};
132146
133147static const OmpDirectiveSet topDistributeSet{
134- Directive::OMPD_distribute,
135- Directive::OMPD_distribute_parallel_do,
136148 Directive::OMPD_distribute_parallel_do_simd,
149+ Directive::OMPD_distribute_parallel_do,
137150 Directive::OMPD_distribute_simd,
151+ Directive::OMPD_distribute,
138152};
139153
140154static const OmpDirectiveSet allDistributeSet{
141- llvm::omp::OMPD_distribute,
142- llvm::omp::OMPD_distribute_parallel_do,
143- llvm::omp::OMPD_distribute_parallel_do_simd,
144- llvm::omp::OMPD_distribute_simd,
145- llvm::omp::OMPD_target_teams_distribute,
146- llvm::omp::OMPD_target_teams_distribute_parallel_do,
147- llvm::omp::OMPD_target_teams_distribute_parallel_do_simd,
148- llvm::omp::OMPD_target_teams_distribute_simd,
149- llvm::omp::OMPD_teams_distribute,
150- llvm::omp::OMPD_teams_distribute_parallel_do,
151- llvm::omp::OMPD_teams_distribute_parallel_do_simd,
152- llvm::omp::OMPD_teams_distribute_simd,
155+ OmpDirectiveSet{
156+ llvm::omp::OMPD_target_teams_distribute_parallel_do_simd,
157+ llvm::omp::OMPD_target_teams_distribute_parallel_do,
158+ llvm::omp::OMPD_target_teams_distribute_simd,
159+ llvm::omp::OMPD_target_teams_distribute,
160+ llvm::omp::OMPD_teams_distribute_parallel_do_simd,
161+ llvm::omp::OMPD_teams_distribute_parallel_do,
162+ llvm::omp::OMPD_teams_distribute_simd,
163+ llvm::omp::OMPD_teams_distribute,
164+ } | topDistributeSet,
153165};
154166
155167// ===----------------------------------------------------------------------===//
@@ -188,8 +200,16 @@ static const OmpDirectiveSet loopConstructSet{
188200 Directive::OMPD_distribute,
189201 Directive::OMPD_do_simd,
190202 Directive::OMPD_do,
203+ Directive::OMPD_masked_taskloop,
204+ Directive::OMPD_masked_taskloop_simd,
205+ Directive::OMPD_master_taskloop,
206+ Directive::OMPD_master_taskloop_simd,
191207 Directive::OMPD_parallel_do_simd,
192208 Directive::OMPD_parallel_do,
209+ Directive::OMPD_parallel_masked_taskloop,
210+ Directive::OMPD_parallel_masked_taskloop_simd,
211+ Directive::OMPD_parallel_master_taskloop,
212+ Directive::OMPD_parallel_master_taskloop_simd,
193213 Directive::OMPD_simd,
194214 Directive::OMPD_target_parallel_do_simd,
195215 Directive::OMPD_target_parallel_do,
0 commit comments