@@ -24,68 +24,80 @@ namespace llvm::omp {
24
24
// - all<Directive>Set: All standalone or combined uses of the directive.
25
25
26
26
static const OmpDirectiveSet topParallelSet{
27
- Directive::OMPD_parallel,
28
- Directive::OMPD_parallel_do,
29
27
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,
30
33
Directive::OMPD_parallel_sections,
31
34
Directive::OMPD_parallel_workshare,
35
+ Directive::OMPD_parallel,
32
36
};
33
37
34
38
static 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,
49
50
};
50
51
51
52
static const OmpDirectiveSet topDoSet{
52
- Directive::OMPD_do,
53
53
Directive::OMPD_do_simd,
54
+ Directive::OMPD_do,
54
55
};
55
56
56
57
static 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 ,
69
70
};
70
71
71
72
static const OmpDirectiveSet topTaskloopSet{
72
- Directive::OMPD_taskloop,
73
73
Directive::OMPD_taskloop_simd,
74
+ Directive::OMPD_taskloop,
74
75
};
75
76
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
+ };
77
89
78
90
static const OmpDirectiveSet topTargetSet{
79
- Directive::OMPD_target,
80
- Directive::OMPD_target_parallel,
81
- Directive::OMPD_target_parallel_do,
82
91
Directive::OMPD_target_parallel_do_simd,
92
+ Directive::OMPD_target_parallel_do,
93
+ Directive::OMPD_target_parallel,
83
94
Directive::OMPD_target_simd,
84
- Directive::OMPD_target_teams,
85
- Directive::OMPD_target_teams_distribute,
86
- Directive::OMPD_target_teams_distribute_parallel_do,
87
95
Directive::OMPD_target_teams_distribute_parallel_do_simd,
96
+ Directive::OMPD_target_teams_distribute_parallel_do,
88
97
Directive::OMPD_target_teams_distribute_simd,
98
+ Directive::OMPD_target_teams_distribute,
99
+ Directive::OMPD_target_teams,
100
+ Directive::OMPD_target,
89
101
};
90
102
91
103
static const OmpDirectiveSet allTargetSet{topTargetSet};
@@ -95,61 +107,61 @@ static const OmpDirectiveSet topSimdSet{
95
107
};
96
108
97
109
static 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,
110
127
};
111
128
112
129
static const OmpDirectiveSet topTeamsSet{
113
- Directive::OMPD_teams,
114
- Directive::OMPD_teams_distribute,
115
- Directive::OMPD_teams_distribute_parallel_do,
116
130
Directive::OMPD_teams_distribute_parallel_do_simd,
131
+ Directive::OMPD_teams_distribute_parallel_do,
117
132
Directive::OMPD_teams_distribute_simd,
133
+ Directive::OMPD_teams_distribute,
134
+ Directive::OMPD_teams,
118
135
};
119
136
120
137
static 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,
131
145
};
132
146
133
147
static const OmpDirectiveSet topDistributeSet{
134
- Directive::OMPD_distribute,
135
- Directive::OMPD_distribute_parallel_do,
136
148
Directive::OMPD_distribute_parallel_do_simd,
149
+ Directive::OMPD_distribute_parallel_do,
137
150
Directive::OMPD_distribute_simd,
151
+ Directive::OMPD_distribute,
138
152
};
139
153
140
154
static 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,
153
165
};
154
166
155
167
// ===----------------------------------------------------------------------===//
@@ -188,8 +200,16 @@ static const OmpDirectiveSet loopConstructSet{
188
200
Directive::OMPD_distribute,
189
201
Directive::OMPD_do_simd,
190
202
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,
191
207
Directive::OMPD_parallel_do_simd,
192
208
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,
193
213
Directive::OMPD_simd,
194
214
Directive::OMPD_target_parallel_do_simd,
195
215
Directive::OMPD_target_parallel_do,
0 commit comments