This revision adds support for vectorizing named and generic contraction ops to vector.contract. Cases in which the memref is 0-D are special cased to emit std.load/std.store instead of vector.transfer. Relevant tests are added.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp | ||
---|---|---|
91–92 | can't we just return success(isContraction(op)) at this point? |
mlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir | ||
---|---|---|
3 | Having several RUN command (and possible prefixes) makes sense if you want to run the *same* test and check it with different lowering strategies. However, here you seem to simply append new tests. Wouldn't it make more sense to just start a new test file for this, to avoid running commands without any CHECKs. Or is the duplicate run intentional (if so, probably document that)? |
mlir/test/Dialect/Linalg/transform-patterns-matmul-to-vector.mlir | ||
---|---|---|
3 | I don't think we have particular best practices here. |
UnderlyingTy looks unused.