[PATCH] D79829: [mlir][Affine][NFCI]: Introduce affine memory interfaces

Diego Caballero via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 12 17:15:42 PDT 2020


dcaballe created this revision.
dcaballe added reviewers: bondhugula, nicolasvasilache, mehdi_amini, ftynse, andydavis1.
Herald added subscribers: llvm-commits, Kayjukh, frgossen, grosul1, Joonsoo, stephenneuendorffer, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, antiagainst, shauheen, jpienaar, rriddle, mgorny.
Herald added a project: LLVM.

This patch introduces interfaces for read and write ops with affine
restrictions. I used `read`/`write` intead of `load`/`store` for the
interfaces so that they can also be implemented by dma ops.
For now, they are only implemented by affine.load, affine.store,
affine.vector_load and affine.vector_store.

For testing purposes, this patch also changes affine loop fusion and
required analysis to use the new interfaces. I can create a separate patch
for this, if needed, but I think it's good to have this initial
version for context.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D79829

Files:
  mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
  mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
  mlir/include/mlir/Dialect/Affine/IR/CMakeLists.txt
  mlir/include/mlir/Interfaces/AffineMemoryOpInterfaces.h
  mlir/include/mlir/Interfaces/AffineMemoryOpInterfaces.td
  mlir/include/mlir/Interfaces/CMakeLists.txt
  mlir/lib/Analysis/AffineAnalysis.cpp
  mlir/lib/Analysis/CMakeLists.txt
  mlir/lib/Analysis/Utils.cpp
  mlir/lib/Dialect/Affine/IR/AffineOps.cpp
  mlir/lib/Interfaces/AffineMemoryOpInterfaces.cpp
  mlir/lib/Interfaces/CMakeLists.txt
  mlir/lib/Transforms/CMakeLists.txt
  mlir/lib/Transforms/LoopFusion.cpp
  mlir/test/lib/Transforms/TestMemRefBoundCheck.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79829.263574.patch
Type: text/x-patch
Size: 34771 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200513/cd3cfb4f/attachment.bin>


More information about the llvm-commits mailing list