[all-commits] [llvm/llvm-project] 70da33: [MLIR] fix/update affine data copy utility for max...

Uday Bondhugula via All-commits all-commits at lists.llvm.org
Tue Apr 7 01:27:54 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 70da33bf30dabf9d3c1cddc8d18094f76ff860bb
      https://github.com/llvm/llvm-project/commit/70da33bf30dabf9d3c1cddc8d18094f76ff860bb
  Author: Uday Bondhugula <uday at polymagelabs.com>
  Date:   2020-04-07 (Tue, 07 Apr 2020)

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

  Log Message:
  -----------
  [MLIR] fix/update affine data copy utility for max/min bounds

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

Differential Revision: https://reviews.llvm.org/D77320




More information about the All-commits mailing list