Now that the Linalg opset has been trimmed, the time has come to retire patterns that rely on attributes to perform selective filtering and application of transformations (LinalgTransformationFilter). While this was useful to demonstrate end-to-end composability fully in the IR (i.e. without involving additional C++ glue for analyses or passes), attributes are not the right abstraction for this and the natural evolution is towards more functional transforms and the transform dialect.
People should expect the following changes to Linalg transforms to gradually occur over the next few weeks:
- refactoring of transformation logic into user-visible transform functions.
- gradual deletion of patterns and passes that depend on them.
- gradual transition of tests to using the transform dialect.
- gradual refactoring of code that targets LinalgOp towards only using more general interfaces (e.g. TilingInterface)
If you have short-term needs for some of these filter-based patterns, this is a heads up for porting them for your particular use cases.