[all-commits] [llvm/llvm-project] 196c70: [mlir][MemRef] Move FlattenMemRefs to interfaces (...

Krzysztof Drewniak via All-commits all-commits at lists.llvm.org
Tue May 26 11:12:39 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 196c7018fc11e40d69b476562a105023e56e72a5
      https://github.com/llvm/llvm-project/commit/196c7018fc11e40d69b476562a105023e56e72a5
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2026-05-26 (Tue, 26 May 2026)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/Transforms/Passes.td
    M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Utils/StaticValueUtils.h
    M mlir/lib/Dialect/MemRef/Transforms/FlattenMemRefs.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/flatten_memref.mlir
    M mlir/test/Dialect/Vector/flatten-memref-and-emulate-narrow-types.mlir

  Log Message:
  -----------
  [mlir][MemRef] Move FlattenMemRefs to interfaces (#198625)

Use IndexedAccessOpInterface for indexed memory operations and
VectorTransferOpInterface update methods for vector transfers ops. Add
an IndexedMemCopyOpInterface-based flattening pattern for DMA-like
operations.

This gets rid of the hardcoded operation list in the patterns, allowing
dialects like AMDGPU to transparently work with memref flattening.

As a consequence, the specialized vector- and memref-dialect only
constructors that only load a subset of the flattening patterns are
removed.

Also adds a max() method to SaturatedInteger because it was useful for
computing the size of a flat memref.

---------

Co-authored-by: Codex <codex at openai.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list