[PATCH] D76524: IfOP - Add a builder with result operands

Nagy Mostafa via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 20 14:07:13 PDT 2020


nmostafa created this revision.
Herald added subscribers: llvm-commits, Joonsoo, liufengdb, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, burmako, jpienaar, rriddle, mehdi_amini.
Herald added a reviewer: nicolasvasilache.
Herald added a project: LLVM.
nmostafa added a reviewer: rriddle.

Add a new builder to IfOp to allow operation to define values.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D76524

Files:
  mlir/include/mlir/Dialect/LoopOps/LoopOps.td
  mlir/lib/Dialect/LoopOps/LoopOps.cpp


Index: mlir/lib/Dialect/LoopOps/LoopOps.cpp
===================================================================
--- mlir/lib/Dialect/LoopOps/LoopOps.cpp
+++ mlir/lib/Dialect/LoopOps/LoopOps.cpp
@@ -201,7 +201,13 @@
 
 void IfOp::build(Builder *builder, OperationState &result, Value cond,
                  bool withElseRegion) {
+  build(builder, result, llvm::None, cond, withElseRegion);
+}
+
+void IfOp::build(Builder *builder, OperationState &result,
+                 ArrayRef<Type> resultTypes, Value cond, bool withElseRegion) {
   result.addOperands(cond);
+  result.addTypes(resultTypes);
   Region *thenRegion = result.addRegion();
   Region *elseRegion = result.addRegion();
   IfOp::ensureTerminator(*thenRegion, *builder, result.location);
Index: mlir/include/mlir/Dialect/LoopOps/LoopOps.td
===================================================================
--- mlir/include/mlir/Dialect/LoopOps/LoopOps.td
+++ mlir/include/mlir/Dialect/LoopOps/LoopOps.td
@@ -221,7 +221,10 @@
   let skipDefaultBuilders = 1;
   let builders = [
     OpBuilder<"Builder *builder, OperationState &result, "
-              "Value cond, bool withElseRegion">
+              "Value cond, bool withElseRegion">,
+    OpBuilder<"Builder *builder, OperationState &result, "
+              "ArrayRef<Type> resultTypes, Value cond, "
+              "bool withElseRegion">
   ];
 
   let extraClassDeclaration = [{


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76524.251752.patch
Type: text/x-patch
Size: 1404 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200320/b07835dc/attachment.bin>


More information about the llvm-commits mailing list