[flang-commits] [flang] [llvm] [mlir] [flang][OpenMP] Enable tiling (PR #143715)

Jan Leyonberg via flang-commits flang-commits at lists.llvm.org
Wed Aug 20 10:50:25 PDT 2025


================
@@ -317,6 +317,38 @@ class OpenMP_DeviceClauseSkip<
 
 def OpenMP_DeviceClause : OpenMP_DeviceClauseSkip<>;
 
+//===----------------------------------------------------------------------===//
+// V5.2: [XX.X] `collapse` clause
+//===----------------------------------------------------------------------===//
+
+class OpenMP_CollapseClauseSkip<
+    bit traits = false, bit arguments = false, bit assemblyFormat = false,
+    bit description = false, bit extraClassDeclaration = false
+  > : OpenMP_Clause<traits, arguments, assemblyFormat, description,
+                    extraClassDeclaration> {
+  let arguments = (ins
+      DefaultValuedOptionalAttr<I64Attr, "1">:$num_collapse
+  );
+}
+
+def OpenMP_CollapseClause : OpenMP_CollapseClauseSkip<>;
+
+//===----------------------------------------------------------------------===//
+// V5.2: [xx.x] `sizes` clause
+//===----------------------------------------------------------------------===//
+
+class OpenMP_TileSizesClauseSkip<
+    bit traits = false, bit arguments = false, bit assemblyFormat = false,
+    bit description = false, bit extraClassDeclaration = false
+  > : OpenMP_Clause<traits, arguments, assemblyFormat, description,
+                    extraClassDeclaration> {
+  let arguments = (ins
+      OptionalAttr<DenseI64ArrayAttr>:$tile_sizes
+  );
+}
+
+def OpenMP_TileSizesClause : OpenMP_TileSizesClauseSkip<>;
----------------
jsjodin wrote:

I wanted to limit this to constant values initially. I can add the OpenMP_SizesClauseSkip class in a separate PR and retire this code then.

https://github.com/llvm/llvm-project/pull/143715


More information about the flang-commits mailing list