[all-commits] [llvm/llvm-project] 279116: [mlir] make memref.subview produce strided layout

ftynse via All-commits all-commits at lists.llvm.org
Fri Sep 16 01:57:10 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2791162b01e3199b24f2d18f7b370157e2c57daf
      https://github.com/llvm/llvm-project/commit/2791162b01e3199b24f2d18f7b370157e2c57daf
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2022-09-16 (Fri, 16 Sep 2022)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-out-params.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
    M mlir/test/Dialect/Linalg/promote.mlir
    M mlir/test/Dialect/Linalg/tile.mlir
    M mlir/test/Dialect/Linalg/transform-patterns.mlir
    M mlir/test/Dialect/Linalg/transform-promotion.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/multibuffer.mlir
    M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir
    M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
    M mlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir
    M mlir/test/Transforms/canonicalize.mlir
    M mlir/test/Transforms/compose-subview.mlir
    M mlir/unittests/Dialect/MemRef/InferShapeTest.cpp

  Log Message:
  -----------
  [mlir] make memref.subview produce strided layout

Memref subview operation has been initially designed to work on memrefs with
strided layouts only and has never supported anything else. Port it to use the
recently added StridedLayoutAttr instead of extracting the strided from
implicitly from affine maps.

Reviewed By: nicolasvasilache

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


  Commit: 46b90a7b5dcb6fed1cea45b7b9143c73fb561865
      https://github.com/llvm/llvm-project/commit/46b90a7b5dcb6fed1cea45b7b9143c73fb561865
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2022-09-16 (Fri, 16 Sep 2022)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-alloc-tensor-elimination.mlir
    M mlir/test/Dialect/Linalg/roundtrip.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/MemRef/ops.mlir
    M mlir/test/Dialect/Tensor/bufferize.mlir
    M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir

  Log Message:
  -----------
  [mlir] make remaining memref dialect ops produce strided layouts

The three following ops in the memref dialect: transpose, expand_shape,
collapse_shape, have been originally designed to operate on memrefs with
strided layouts but had to go through the affine map representation as the type
did not support anything else. Make these ops produce memref values with
StridedLayoutAttr instead now that it is available.

Depends On D133938

Reviewed By: nicolasvasilache

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


  Commit: f096e72ce6229bea328aca6a0d345f387e678cd3
      https://github.com/llvm/llvm-project/commit/f096e72ce6229bea328aca6a0d345f387e678cd3
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2022-09-16 (Fri, 16 Sep 2022)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinTypes.h
    M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
    M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
    M mlir/lib/IR/BuiltinTypes.cpp
    M mlir/test/Dialect/Arithmetic/one-shot-bufferize.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-alloc-tensor-elimination.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-out-params.mlir
    M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
    M mlir/test/Dialect/Linalg/one-shot-bufferize.mlir
    M mlir/test/Dialect/Linalg/standard.mlir
    M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
    M mlir/test/Dialect/Tensor/one-shot-bufferize.mlir
    M mlir/test/Dialect/Vector/vector-transfer-full-partial-split.mlir

  Log Message:
  -----------
  [mlir] switch bufferization to use strided layout attribute

Bufferization already makes the assumption that buffers pass function
boundaries in the strided form and uses the corresponding affine map layouts.
Switch it to use the recently introduced strided layout instead to avoid
unnecessary casts when bufferizing further operations to the memref dialect
counterparts that now largely rely on the strided layout attribute.

Depends On D133947

Reviewed By: nicolasvasilache

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


Compare: https://github.com/llvm/llvm-project/compare/57c7bb3ec895...f096e72ce622


More information about the All-commits mailing list