@@ -209,6 +209,23 @@ class OpenMP_BindClauseSkip<
209209
210210def OpenMP_BindClause : OpenMP_BindClauseSkip<>;
211211
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+
212229//===----------------------------------------------------------------------===//
213230// V5.2: [5.7.2] `copyprivate` clause
214231//===----------------------------------------------------------------------===//
@@ -317,38 +334,6 @@ class OpenMP_DeviceClauseSkip<
317334
318335def OpenMP_DeviceClause : OpenMP_DeviceClauseSkip<>;
319336
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-
352337//===----------------------------------------------------------------------===//
353338// V5.2: [11.6.1] `dist_schedule` clause
354339//===----------------------------------------------------------------------===//
@@ -1355,6 +1340,22 @@ class OpenMP_SimdlenClauseSkip<
13551340
13561341def OpenMP_SimdlenClause : OpenMP_SimdlenClauseSkip<>;
13571342
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+
13581359//===----------------------------------------------------------------------===//
13591360// V5.2: [5.5.9] `task_reduction` clause
13601361//===----------------------------------------------------------------------===//
0 commit comments