[PATCH] D72223: [MLIR] Introduce affine.execute_region op

Mehdi AMINI via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 28 15:56:47 PDT 2021


mehdi_amini added a comment.

What does this op bring on top of `scf.execute_region`? Can `scf.execute_region` carry the `AffineScope` trait?

Somehow related, in another thread of discussion, we discussed reversing the `AffineScope` traits: replacing it by a trait that would mean the opposite (let's say `NotAnAffineScope` as a straw man) and consider every operation that don't define `NotAnAffineScope`. This would enable to use any op unknown to affine that define a region inside an affine scope, it would just create implicitly a new scope. We could avoid the need to tag operations like FuncOp with `AffineScope` since that would be the default. Instead only affine operation would need tagging.



================
Comment at: mlir/include/mlir/Dialect/Affine/IR/AffineOps.td:120
+      The `affine.execute_region` op introduces a new symbol context for affine
+      operations. It holds a single region,  which can be a list of one or more
+      blocks, and its semantics are to execute its region exactly once. The op's
----------------
ftynse wrote:
> 
(formatting still to be fixed here)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D72223



More information about the llvm-commits mailing list