For now, only elementwise operations are supported. Operations that perform any
kind of data permutation require changes in the representation of scalable
dimensions in VectorType.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
I am over the moon - this is a great day for scalable vectorisation and I will be celebrating :) Thank you so much for preparing this!
LGTM. A few nits/questions inline, but these can be addressed when merging.
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp | ||
---|---|---|
269–270 |
Is this statement true? I'd assume that scalableVecDims holds info about scalable dims. | |
567 | dstVecType is so much clearer than targetVectorType :) | |
1165 | What does "first" refer to in this context? | |
1564–1567 | Shouldn't this be an assert? And doesn't the message require updating ? |
Thanks for the feedback. I think I fixed everything! Landing...
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp | ||
---|---|---|
269–270 | Good catch! It was in my initial version where I had created a struct combining canonicalVecShape and scalableVecDims :) | |
1165 | I'm not quite sure, honestly. This code is a bit old. I didn't want to make a big unrelated change here but we should revisit this a bit more. | |
1564–1567 | Good point... This is an API requirement. Thanks. |
Is this statement true? I'd assume that scalableVecDims holds info about scalable dims.