HomePhabricator

[MLIR][MemRef] Only allow fold of cast for the pointer operand, not the value

Authored by wsmoses on Jun 7 2021, 10:44 AM.

Description

[MLIR][MemRef] Only allow fold of cast for the pointer operand, not the value

Currently canonicalizations of a store and a cast try to fold all casts into the store.

In the case where the operand being stored is itself a cast, this is illegal as the type of the value being stored
will change. This PR fixes this by not checking the value for folding with a cast.

Depends on https://reviews.llvm.org/D103828

Differential Revision: https://reviews.llvm.org/D103829