[Mlir-commits] [mlir] [MLIR][OpenMP] NFC: Address tablegen warnings (PR #98485)

Sergio Afonso llvmlistbot at llvm.org
Mon Jul 15 03:42:50 PDT 2024


https://github.com/skatrak updated https://github.com/llvm/llvm-project/pull/98485

>From 5196f2ed3594ddf6d641b2c8ce9fd7074323ce58 Mon Sep 17 00:00:00 2001
From: Sergio Afonso <safonsof at amd.com>
Date: Thu, 11 Jul 2024 14:23:04 +0100
Subject: [PATCH] [MLIR][OpenMP] NFC: Address tablegen warnings

After the addition of the `-verify-openmp-ops` tablegen pseudo-backend to
report suspected issues with the definition of an operation, some warnings were
triggered in the current implementation of OpenMPOps.td.

These are related to known limitations for which TODO messages exist within
these operation's definitions. This patch explicitly inhibits the inheritance
of the `assemblyFormat` property of all clauses added to the `omp.parallel` and
`omp.wsloop` operations to avoid these warnings. This should help identifying
actual issues that may arise later as the dialect continues to be developed.
---
 mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td | 22 ++++++++++++++-----
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
index aee2937ce5cb7..69fd1f1f0130f 100644
--- a/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+++ b/mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
@@ -133,8 +133,12 @@ def ParallelOp : OpenMP_Op<"parallel", traits = [
     RecursiveMemoryEffects
   ], clauses = [
     // TODO: Sort clauses alphabetically.
-    OpenMP_IfClause, OpenMP_NumThreadsClause, OpenMP_AllocateClause,
-    OpenMP_ReductionClause, OpenMP_ProcBindClause, OpenMP_PrivateClause
+    OpenMP_IfClauseSkip<assemblyFormat = true>,
+    OpenMP_NumThreadsClauseSkip<assemblyFormat = true>,
+    OpenMP_AllocateClauseSkip<assemblyFormat = true>,
+    OpenMP_ReductionClauseSkip<assemblyFormat = true>,
+    OpenMP_ProcBindClauseSkip<assemblyFormat = true>,
+    OpenMP_PrivateClauseSkip<assemblyFormat = true>
   ], singleRegion = true> {
   let summary = "parallel construct";
   let description = [{
@@ -154,7 +158,8 @@ def ParallelOp : OpenMP_Op<"parallel", traits = [
 
   // TODO: Use default assembly format inherited from OpenMP_Op once printing
   // and parsing of the parallel region is not intermingled with printing and
-  // parsing of reduction and private clauses.
+  // parsing of reduction and private clauses. `assemblyFormat` should also be
+  // no longer skipped for clauses added to this operation at that time.
   let assemblyFormat = [{
     oilist(
           `if` `(` $if_expr `)`
@@ -363,8 +368,12 @@ def WsloopOp : OpenMP_Op<"wsloop", traits = [
   ], clauses = [
     // TODO: Complete clause list (allocate, private).
     // TODO: Sort clauses alphabetically.
-    OpenMP_LinearClause, OpenMP_ReductionClause, OpenMP_ScheduleClause,
-    OpenMP_NowaitClause, OpenMP_OrderedClause, OpenMP_OrderClause
+    OpenMP_LinearClauseSkip<assemblyFormat = true>,
+    OpenMP_ReductionClauseSkip<assemblyFormat = true>,
+    OpenMP_ScheduleClauseSkip<assemblyFormat = true>,
+    OpenMP_NowaitClauseSkip<assemblyFormat = true>,
+    OpenMP_OrderedClauseSkip<assemblyFormat = true>,
+    OpenMP_OrderClauseSkip<assemblyFormat = true>
   ], singleRegion = true> {
   let summary = "worksharing-loop construct";
   let description = [{
@@ -398,7 +407,8 @@ def WsloopOp : OpenMP_Op<"wsloop", traits = [
 
   // TODO: Use default assembly format inherited from OpenMP_Op once printing
   // and parsing of the workshare loop region is not intermingled with printing
-  // and parsing of reduction clauses.
+  // and parsing of reduction clauses. `assemblyFormat` should also be no longer
+  // skipped for clauses added to this operation at that time.
   let assemblyFormat = [{
     oilist(`linear` `(`
               custom<LinearClause>($linear_vars, type($linear_vars),



More information about the Mlir-commits mailing list