The current condition implies that the target materialization will be
called even if the type is the new operand type is legal, but slightly
different. For example, if there is a bufferization pattern that changes memref
layout, then target materialization for an illegal type (TensorType) would be
called.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Transforms/Utils/DialectConversion.cpp | ||
---|---|---|
1090–1091 | I think this could be if (converter && !converter.isLegal(newOperandType)) and then the computation of desiredtype could be moved inside this block. | |
1090–1091 | This line finds the most recent remapped value that has the desired type. Instead, to be in line with the new below code, it should find the most recent remapped value that has a legal type. This is also the only use of this special search functionality, |
Is this still needed? Could we rip out the desiredType support here?