[llvm] [mlir] [mlir] Move InlinerInterface from Transforms to Interfaces. (PR #84878)

Oleksandr Alex Zinenko via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 13 03:31:59 PDT 2024


ftynse wrote:

A couple of counter-points, but I don't have a strong opinion.

- Generally speaking, we have too many places where interfaces can live currently. Some interfaces are under IR, presumably because they were considered necessary for the IR definition (`OpAsmInterface` for printing/parsing, `SymbolInterfaces` for symbol tables) but some others are under Interface (`ControlFlowInterfaces`, `DerivedAttributeInterface` and `SideEffectInterfaces` all look as important as the things in IR). Some interfaces under Interface are specific to a transform (`DestinationStyleInterface` is clearly for bufferization and `TilingInterface` is for tiling) but this transform may not live in `lib/Transform` or there may be several variants of it. Some dialects have additional interfaces that create dialect dependencies, but may actually belong to a more generic Interface category. Do we really want to add _yet another place_ where interfaces could live?
- `Transform/Utils` is IMO a huge misnomer for interfaces. Utils are for additional things that may or may not be useful for somebody. Interfaces _must_ be implemented for things to work.

https://github.com/llvm/llvm-project/pull/84878


More information about the llvm-commits mailing list