[PATCH] D80689: [MLIR][OpenMP] Defined master operation in OpenMP Dialect

Anchu Rajendran S via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 27 23:24:51 PDT 2020


anchu-rajendran updated this revision to Diff 266748.
anchu-rajendran added a comment.

Formatting changes : removed an extra newline


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D80689/new/

https://reviews.llvm.org/D80689

Files:
  mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
  mlir/test/Dialect/OpenMP/ops.mlir


Index: mlir/test/Dialect/OpenMP/ops.mlir
===================================================================
--- mlir/test/Dialect/OpenMP/ops.mlir
+++ mlir/test/Dialect/OpenMP/ops.mlir
@@ -6,6 +6,15 @@
   return
 }
 
+func @omp_master() -> () {
+  // CHECK: omp.master
+  "omp.master" ()({
+    // CHECK: omp.terminator
+    omp.terminator
+  }):()->()
+  return
+}
+
 func @omp_taskwait() -> () {
   // CHECK: omp.taskwait
   omp.taskwait
@@ -42,7 +51,7 @@
 }
 
 func @omp_parallel(%data_var : memref<i32>, %if_cond : i1, %num_threads : si32) -> () {
-  // CHECK: omp_parallel
+  // CHECK: omp.parallel
   "omp.parallel" (%if_cond, %num_threads, %data_var, %data_var, %data_var, %data_var) ({
 
   // test without if condition
Index: mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
===================================================================
--- mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
+++ mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
@@ -94,7 +94,7 @@
 }
 
 def TerminatorOp : OpenMP_Op<"terminator", [Terminator]> {
-  let summary = "terminator for OpenMP regions.";
+  let summary = "terminator for OpenMP regions";
   let description = [{
     A terminator operation for regions that appear in the body of OpenMP
     operation.  These regions are not expected to return any value so the
@@ -102,8 +102,7 @@
     enclosing op.
   }];
 
-  let parser = [{ return success(); }];
-  let printer = [{ p << getOperationName(); }];
+  let assemblyFormat = "attr-dict";
 }
 
 //===----------------------------------------------------------------------===//
@@ -137,6 +136,19 @@
   let assemblyFormat = "attr-dict ($varList^ `:` type($varList))?";
 }
 
+//===----------------------------------------------------------------------===//
+// 2.16 master Construct
+//===----------------------------------------------------------------------===//
+def MasterOp : OpenMP_Op<"master"> {
+  let summary = "master construct";
+  let description = [{
+    The master construct specifies a structured block that is executed by
+    the master thread of the team.
+  }];
+
+  let regions = (region AnyRegion:$region);
+}
+
 //===----------------------------------------------------------------------===//
 // 2.17.2 barrier Construct
 //===----------------------------------------------------------------------===//


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80689.266748.patch
Type: text/x-patch
Size: 2315 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200528/cf828146/attachment.bin>


More information about the llvm-commits mailing list