[all-commits] [llvm/llvm-project] a55a0a: [mlir] Remove over specified memory effects
Andrew Young via All-commits
all-commits at lists.llvm.org
Thu Jan 14 14:55:25 PST 2021
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: a55a0a3056b8163d9e709b534bd737730fbb5d44
https://github.com/llvm/llvm-project/commit/a55a0a3056b8163d9e709b534bd737730fbb5d44
Author: Andrew Young <youngar17 at gmail.com>
Date: 2021-01-14 (Thu, 14 Jan 2021)
Changed paths:
M mlir/docs/Interfaces.md
M mlir/include/mlir/Dialect/GPU/GPUOps.td
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
M mlir/test/Dialect/Linalg/sparse_1d.mlir
M mlir/test/Dialect/Linalg/sparse_2d.mlir
M mlir/test/Dialect/Linalg/sparse_3d.mlir
M mlir/test/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir] Remove over specified memory effects
The standard and gpu dialect both have `alloc` operations which use the
memory effect `MemAlloc`. In both cases, it is specified on both the
operation itself and on the result. This results in two memory effects
being created for these operations. When `MemAlloc` is defined on an
operation, it represents some background effect which the compiler
cannot reason about, and inhibits the ability of the compiler to
remove dead `std.alloc` operations. This change removes the uneeded
`MemAlloc` effect from these operations and leaves the effect on the
result, which allows dead allocs to be erased.
There is the same problem, but to a lesser extent, with MemFree, MemRead
and MemWrite. Over-specifying these traits is not currently inhibiting
any optimization.
Differential Revision: https://reviews.llvm.org/D94662
More information about the All-commits
mailing list