[PATCH] D79060: [MLIR] Introduce op trait PolyhedralScope

Uday Bondhugula via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 28 18:55:01 PDT 2020


bondhugula created this revision.
bondhugula added reviewers: ftynse, rriddle.
Herald added subscribers: llvm-commits, Kayjukh, frgossen, grosul1, Joonsoo, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, jpienaar, mehdi_amini.
Herald added a reviewer: nicolasvasilache.
Herald added 1 blocking reviewer(s): rriddle.
Herald added a reviewer: antiagainst.
Herald added a project: LLVM.
bondhugula added a comment.

ModuleOp is now marked with this trait as well. The trait lives in IR - as discussed here (https://reviews.llvm.org/D78863?id=260322#inline-722790), the trait makes sense even for those that don't depend on the affine dialect, and it's clean/logical to mark FuncOp/ModuleOp with this trait. The cyclic dependence b/w Affine and IR/ is now eliminated.


(A previous version of this, dd2c639c3cd397dfef941186fb85c82e4e918425 <https://reviews.llvm.org/rGdd2c639c3cd397dfef941186fb85c82e4e918425>, was
reverted.)

Introduce op trait PolyhedralScope for ops to define a new scope for
polyhedral optimization / affine dialect purposes, thus generalizing
such scopes beyond FuncOp. Ops to which this trait is attached will
define a new scope for the consideration of SSA values as valid symbols
for the purposes of polyhedral analysis and optimization. Update methods
that check for dim/symbol validity to work based on this trait.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D79060

Files:
  mlir/docs/Dialects/Affine.md
  mlir/docs/Traits.md
  mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
  mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
  mlir/include/mlir/IR/Function.h
  mlir/include/mlir/IR/Module.h
  mlir/include/mlir/IR/OpBase.td
  mlir/include/mlir/IR/OpDefinition.h
  mlir/lib/Dialect/Affine/IR/AffineOps.cpp
  mlir/test/Dialect/Affine/invalid.mlir
  mlir/test/Dialect/Affine/ops.mlir
  mlir/test/lib/Dialect/Test/TestDialect.cpp
  mlir/test/lib/Dialect/Test/TestOps.td

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79060.260816.patch
Type: text/x-patch
Size: 30280 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200429/be3a4c4e/attachment-0001.bin>


More information about the llvm-commits mailing list