@@ -209,6 +209,23 @@ class OpenMP_BindClauseSkip<
209
209
210
210
def OpenMP_BindClause : OpenMP_BindClauseSkip<>;
211
211
212
+ //===----------------------------------------------------------------------===//
213
+ // V5.2: [4.4.3] `collapse` clause
214
+ //===----------------------------------------------------------------------===//
215
+
216
+ class OpenMP_CollapseClauseSkip<
217
+ bit traits = false, bit arguments = false, bit assemblyFormat = false,
218
+ bit description = false, bit extraClassDeclaration = false
219
+ > : OpenMP_Clause<traits, arguments, assemblyFormat, description,
220
+ extraClassDeclaration> {
221
+ let arguments = (ins
222
+ ConfinedAttr<DefaultValuedOptionalAttr<I64Attr, "1">, [IntMinValue<1>]>
223
+ :$collapse_num_loops
224
+ );
225
+ }
226
+
227
+ def OpenMP_CollapseClause : OpenMP_CollapseClauseSkip<>;
228
+
212
229
//===----------------------------------------------------------------------===//
213
230
// V5.2: [5.7.2] `copyprivate` clause
214
231
//===----------------------------------------------------------------------===//
@@ -317,38 +334,6 @@ class OpenMP_DeviceClauseSkip<
317
334
318
335
def OpenMP_DeviceClause : OpenMP_DeviceClauseSkip<>;
319
336
320
- //===----------------------------------------------------------------------===//
321
- // V5.2: [XX.X] `collapse` clause
322
- //===----------------------------------------------------------------------===//
323
-
324
- class OpenMP_CollapseClauseSkip<
325
- bit traits = false, bit arguments = false, bit assemblyFormat = false,
326
- bit description = false, bit extraClassDeclaration = false
327
- > : OpenMP_Clause<traits, arguments, assemblyFormat, description,
328
- extraClassDeclaration> {
329
- let arguments = (ins
330
- DefaultValuedOptionalAttr<I64Attr, "1">:$num_collapse
331
- );
332
- }
333
-
334
- def OpenMP_CollapseClause : OpenMP_CollapseClauseSkip<>;
335
-
336
- //===----------------------------------------------------------------------===//
337
- // V5.2: [xx.x] `sizes` clause
338
- //===----------------------------------------------------------------------===//
339
-
340
- class OpenMP_TileSizesClauseSkip<
341
- bit traits = false, bit arguments = false, bit assemblyFormat = false,
342
- bit description = false, bit extraClassDeclaration = false
343
- > : OpenMP_Clause<traits, arguments, assemblyFormat, description,
344
- extraClassDeclaration> {
345
- let arguments = (ins
346
- OptionalAttr<DenseI64ArrayAttr>:$tile_sizes
347
- );
348
- }
349
-
350
- def OpenMP_TileSizesClause : OpenMP_TileSizesClauseSkip<>;
351
-
352
337
//===----------------------------------------------------------------------===//
353
338
// V5.2: [11.6.1] `dist_schedule` clause
354
339
//===----------------------------------------------------------------------===//
@@ -1355,6 +1340,22 @@ class OpenMP_SimdlenClauseSkip<
1355
1340
1356
1341
def OpenMP_SimdlenClause : OpenMP_SimdlenClauseSkip<>;
1357
1342
1343
+ //===----------------------------------------------------------------------===//
1344
+ // V5.2: [9.1.1] `sizes` clause
1345
+ //===----------------------------------------------------------------------===//
1346
+
1347
+ class OpenMP_TileSizesClauseSkip<
1348
+ bit traits = false, bit arguments = false, bit assemblyFormat = false,
1349
+ bit description = false, bit extraClassDeclaration = false
1350
+ > : OpenMP_Clause<traits, arguments, assemblyFormat, description,
1351
+ extraClassDeclaration> {
1352
+ let arguments = (ins
1353
+ OptionalAttr<DenseI64ArrayAttr>:$tile_sizes
1354
+ );
1355
+ }
1356
+
1357
+ def OpenMP_TileSizesClause : OpenMP_TileSizesClauseSkip<>;
1358
+
1358
1359
//===----------------------------------------------------------------------===//
1359
1360
// V5.2: [5.5.9] `task_reduction` clause
1360
1361
//===----------------------------------------------------------------------===//
0 commit comments