[PATCH] D77320: [MLIR] fix/update affine data copy utility for max/min bounds

Uday Bondhugula via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 2 10:17:43 PDT 2020


bondhugula created this revision.
bondhugula added reviewers: andydavis1, timshen.
Herald added subscribers: llvm-commits, grosul1, Joonsoo, liufengdb, aartbik, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, burmako, jpienaar, rriddle, mehdi_amini.
Herald added a project: LLVM.
bondhugula edited the summary of this revision.
bondhugula added a reviewer: dcaballe.

Fix point-wise copy generation to work with bounds that have max/min.
Change structure of copy loop nest to use absolute loop indices and
subtracting base from the indexes of the fast buffers. Update supporting
utilities:

- Fix FlatAffineConstraints::getLowerAndUpperBound to look at equalities as well and for a missing division.
- Update unionBoundingBox to not discard common constraints (leads to a tighter system).
- Update MemRefRegion::getConstantBoundingSizeAndShape to add memref dimension constraints.
- run removeTrivialRedundancy at the end of MemRefRegion::compute

Run single iteration loop promotion and load/store canonicalization
after affine data copy (in its test pass as well).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D77320

Files:
  mlir/include/mlir/Analysis/AffineStructures.h
  mlir/include/mlir/Analysis/Utils.h
  mlir/lib/Analysis/AffineStructures.cpp
  mlir/lib/Analysis/Utils.cpp
  mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
  mlir/lib/Transforms/Utils/LoopUtils.cpp
  mlir/test/Dialect/Affine/affine-data-copy.mlir
  mlir/test/Dialect/Affine/dma-generate.mlir
  mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D77320.254556.patch
Type: text/x-patch
Size: 46437 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200402/c5937115/attachment.bin>


More information about the llvm-commits mailing list