[Mlir-commits] [mlir] [mlir][vector] NFC - Add more structured interface support to vector.contract (PR #145313)

Nicolas Vasilache llvmlistbot at llvm.org
Mon Jun 23 06:45:26 PDT 2025


nicolasvasilache wrote:

@rengolin @Groverkss @banach-space I have a WIP followup to put stuff in lib/Interface but I think I am limited atm.

TL;DR:
1. getShape should not be the same implementation for Linalg and Vector (i.e. Linalg<memref<vector>> is a useful thing to have and thus vector would be an "elemental type" for Linalg but a "ShapedType" for vector)
2. the other methods to factor out in IndexingMapOpInterface want to make use of getShape, so it needs a default impl to be seen by the IndexingMapOpInterface
3. it seems there is a limitation on interface inheritance, where an interface cannot override, atm I have the following case:
   a. IndexingMapOpInterface -> Vector::ContractOp seems fine
   b. IndexingMapOpInterface -> LinalgStructuredInterface -> Linalg::XXXOp does not seem to be fine
4. I don't want to have to individually override in each Linalg::XXXOp

I can put up a followup PR and we can discuss there


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


More information about the Mlir-commits mailing list