Commit
3d56644f18eefe30e353e7fae3cb5e5daf0a0ffb
by nikita.ppv[DSE] Add test for potential caching bug (NFC)
This one would miscompile if readclobber checks switched to using the EarlierAccess location, but the read cache was retained.

 llvm/test/Transforms/DeadStoreElimination/MSSA/overlap.ll 
Commit
de031216bf1755e61418a1515f2b0db0a9cfeddc
by ravishankarm[mlir] Add canonicalization from `tensor_cast` to `dim` op.
Fold a `tensor_cast` > `dim` to take the `dim` of the original tensor.
Differential Revision: https://reviews.llvm.org/D93492

 mlir/test/Dialect/Standard/canonicalize.mlir 
 mlir/lib/Dialect/StandardOps/IR/Ops.cpp 
Commit
118a71565462db41cab1dbb0349200627d6e8524
by ravishankarm[mlir][Linalg] Define a linalg.init_tensor operation.
This operation is used to materialize a tensor of a particular shape. The shape could be specified as a mix of static and dynamic values.
The use of this operation is to be an `init` tensor for Linalg structured operation on tensors where the bounds of the computation depends on the shape of the output of the linalg operation. The result of this operation will be used as the `init` tensor of such Linalg operations. To note,
1) The values in the tensor materialized is not used. Any operation to which this is an init tensor is expected to overwrite the entire tensor. 2) The tensor is materialized only for the shape of the output and to make the loop bounds depend only on operands of the structured operation.
Based on (1) and (2) it is assumed that these operations eventually go away since they are only used in `dim` operations that can be canonicalized to make this operation dead. Such canonicalization are added here too.
Differential Revision: https://reviews.llvm.org/D93374

 mlir/lib/Interfaces/ViewLikeInterface.cpp 
 mlir/include/mlir/Interfaces/ViewLikeInterface.h 
 mlir/test/Dialect/Linalg/canonicalize.mlir 
 mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp 
 mlir/test/Dialect/Linalg/roundtrip.mlir 
 mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td 