[PATCH] D102253: [LV] Prevent vectorization with unsupported element types.

Kerry McLaughlin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 14 11:14:22 PDT 2021


kmclaughlin updated this revision to Diff 345506.
kmclaughlin marked 4 inline comments as done.
kmclaughlin edited the summary of this revision.
kmclaughlin added a comment.

- Moved the changes which add `isLegalToVectorizeElementType` into a seperate patch (D102515 <https://reviews.llvm.org/D102515>)
- Added `canVectorizeInstructionTypes`, which iterates through all instructions in the loop and queries whether it is legal to vectorize the element type.
- Call `canVectorizeInstructionTypes` from getMaxLegalScalableVF to ensure we reject scalable vectorization if the loop contains any unsupported types.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D102253/new/

https://reviews.llvm.org/D102253

Files:
  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  llvm/test/Transforms/LoopVectorize/AArch64/scalable-reductions.ll
  llvm/test/Transforms/LoopVectorize/sve-illegal-type.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102253.345506.patch
Type: text/x-patch
Size: 5453 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210514/81bca247/attachment.bin>


More information about the llvm-commits mailing list