SuccessChanges

Summary

  1. [mlir][Linalg] Enhance Linalg fusion on generic op and tensor_reshape op. (details)
  2. [NFC][asan] Don't unwind stack before pool check (details)
  3. [DSE,MemorySSA] Add memcmp test case. (details)
  4. [BasicAA] Add first libfunc tests with memcmp. (details)
  5. [MemLoc] Support memcmp in MemoryLocation::getForArgument. (details)
Commit eb4efa883212352b2b32ba8aca8525ad17898ed4 by hanchung
[mlir][Linalg] Enhance Linalg fusion on generic op and tensor_reshape op.

The tensor_reshape op was only fusible only if it is a collapsing case. Now we
propagate the op to all the operands so there is a further chance to fuse it
with generic op. The pre-conditions are:

1) The producer is not an indexed_generic op.
2) All the shapes of the operands are the same.
3) All the indexing maps are identity.
4) All the loops are parallel loops.
5) The producer has a single user.

It is possible to fuse the ops if the producer is an indexed_generic op. We
still can compute the original indices. E.g., if the reshape op collapses the d0
and d1, we can use DimOp to get the width of d1, and calculate the index
`d0 * width + d1`. Then replace all the uses with it. However, this pattern is
not implemented in the patch.

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D86314
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/test/Dialect/Linalg/fusion-tensor.mlir (diff)
Commit 6cf72ad3b3d4e475a25b7879f28996a78c8f62e5 by Vitaly Buka
[NFC][asan] Don't unwind stack before pool check
The file was modifiedcompiler-rt/lib/asan/asan_malloc_linux.cpp (diff)
Commit bfbd63d51a7b3930482637d867e15014088ba711 by flo
[DSE,MemorySSA] Add memcmp test case.
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/libcalls.ll (diff)
Commit 85dacca29f8280fe72ee00adf3678ba06a9e2348 by flo
[BasicAA] Add first libfunc tests with memcmp.
The file was addedllvm/test/Analysis/BasicAA/libfuncs.ll
Commit fd6ebea50db5257381d44258c1ff76a9b5da0f0b by flo
[MemLoc] Support memcmp in MemoryLocation::getForArgument.

This patch adds support for memcmp in MemoryLocation::getForArgument.
memcmp reads from the first 2 arguments up to the number of bytes of the
third argument.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D86725
The file was modifiedllvm/lib/Analysis/MemoryLocation.cpp (diff)
The file was modifiedllvm/test/Analysis/BasicAA/libfuncs.ll (diff)
The file was modifiedllvm/test/Transforms/DeadStoreElimination/MSSA/libcalls.ll (diff)