[all-commits] [llvm/llvm-project] e55e36: [mlir] alloc-to-alloca conversion for memref (#65335)

ftynse via All-commits all-commits at lists.llvm.org
Tue Sep 5 08:58:36 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e55e36de7a10e731f76c29ef5dd5287e323eb98c
      https://github.com/llvm/llvm-project/commit/e55e36de7a10e731f76c29ef5dd5287e323eb98c
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-09-05 (Tue, 05 Sep 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/TransformOps/MemRefTransformOps.td
    M mlir/include/mlir/Dialect/MemRef/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.td
    M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
    M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    A mlir/test/Dialect/MemRef/alloc-to-alloca.mlir

  Log Message:
  -----------
  [mlir] alloc-to-alloca conversion for memref (#65335)

Introduce a simple conversion of a memref.alloc/dealloc pair into an
alloca in the same scope. Expose it as a transform op and a pattern.

Allocas typically lower to stack allocations as opposed to alloc/dealloc
that lower to significantly more expensive malloc/free calls. In
addition, this can be combined with allocation hoisting from loops to
further improve performance.




More information about the All-commits mailing list