This is a simple extension to allow vectorization to work not only on GenericLinalgOp
but more generally across named ops too.
For now, this still only vectorizes matmul-like ops but is a step towards more
generic vectorization of Linalg ops.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Unit tests: pass. 61909 tests passed, 0 failed and 782 were skipped.
clang-tidy: unknown.
clang-format: pass.
Build artifacts: diff.json, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml
The change is mostly renaming/clean-up. I only have minor comments, feel free to land after addressing.
mlir/lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp | ||
---|---|---|
192–193 | Why SmallVector<Value, 0> ? Maybe just use std::vector if you don't need stack elements. |
mlir/lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp | ||
---|---|---|
192–193 | This connects to RewriterGen.cpp in subtle ways and the only thing I have found to work with brace initializations and without changing RewriterGen too much is this. |
Why SmallVector<Value, 0> ? Maybe just use std::vector if you don't need stack elements.