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

Uday Bondhugula via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 29 02:54:25 PDT 2021


bondhugula added a comment.

In D72223#2845669 <https://reviews.llvm.org/D72223#2845669>, @mehdi_amini wrote:

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

`scf.execute_region` can carry the affinescope trait (or equivalently can be free of the "ExpandAffineScope" trait which is the complement of AffineScope and which is what we want to replace AffineScope with). The real difference between the two is just going to be memref captures.

> 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.

Yes, we already discussed all of this. Just for the name, "ExpandsAffineScope" is more meaningful since it's adding to affine scope started by an op above that didn't have that trait. Any region holding op that doesn't have `ExpandsAffineScope` starts such a scope.


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