Re-apply [NFC] Generalize a couple of passes so they can operate on any FunctionLike op.
* Generalizes passes linalg-detensorize, linalg-fold-unit-extent-dims, convert-elementwise-to-linalg. * I feel that more work could be done in the future (i.e. make FunctionLike into a proper OpInterface and extend actions in dialect conversion to be trait based), and this patch would be a good record of why that is useful. * Note for downstreams: * Since these passes are now generic, they do not automatically nest with pass managers set up for implicit nesting. * The Detensorize pass must run on a FunctionLike, and this requires explicit nesting. * Addressed missed comments from the original and per-suggestion removed the assert on FunctionLike in ElementwiseToLinalg and DropUnitDims.cpp, which also is what was causing the integration test to fail. This reverts commit aa8815e4. Differential Revision: https://reviews.llvm.org/D115671
Loading
Please sign in to comment