[PATCH] D97500: [flang][fir] Add remaining Ops. Updates to pre-existing Ops.

Kiran Chandramohan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 26 15:42:19 PST 2021


kiranchandramohan accepted this revision.
kiranchandramohan added a comment.

Did you miss the fir-ops tests for the new ops?



================
Comment at: flang/include/flang/Optimizer/Dialect/FIROps.td:1015-1018
+    Optional<AnyShapeType>:$shape,
+    Optional<fir_SliceType>:$slice,
+    Variadic<AnyIntegerType>:$lenParams,
+    OptionalAttr<AffineMapAttr>:$accessMap
----------------
Nit: Might be good to have some documentation for the new arguments.


================
Comment at: flang/include/flang/Optimizer/Dialect/FIROps.td:2286
     Generalized high-level looping construct. This operation is similar to
     MLIR's `loop.for`.
 
----------------
Nit: (unrelated) scf.for now. Needs a description update.


================
Comment at: flang/include/flang/Optimizer/Dialect/FIROps.td:2428
   let description = [{
-    This construct is useful for lowering implied-DO loops. It is very similar
-    to `fir::DoLoopOp` with the addition that it requires a single loop-carried
-    bool value that signals an early exit condition to the operation. A `true`
-    disposition means the next loop iteration should proceed. A `false`
-    indicates that the `fir.iterate_while` operation should terminate and
-    return its iteration arguments.
+    This single-entry, single-exit looping construct is useful for lowering
+    counted loops that can exit early such as, for instance, implied-DO loops.
----------------
Nice loop.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D97500



More information about the llvm-commits mailing list