[PATCH] D81766: [VectorCombine] try to create vector loads from scalar loads
Steven Johnson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 11 17:05:55 PDT 2020
srj added a comment.
Update: it appears that `VectorSize` (from `TTI.getMinVectorRegisterBitWidth()`) is zero in this case, which causes the assertion failure.
This appears to be the case because `HexagonTTIImpl::getMinVectorRegisterBitWidth()` returns `0` if `useHVX()` isn't true... and `useHVX()` returns false if the `HexagonAutoHVX` option isn't enabled.
By design, Halide doesn't enable the `HexagonAutoHVX` option; we like to do all the vectorization ourselves.
I'm not sure how to resolve this issue -- the flaw here seems to lie in `HexagonTTIImpl`'s assumption that disabling `HexagonAutoHVX` should cause it to report zero-width vectors, which seems to be a dubious decision (and one that is at odds with every other implementation of `getMinVectorRegisterBitWidth()` that I see in trunk LLVM (none of them appear to ever return 0).
Would it make sense to consider backing out this change until this can be resolved, since it clearly appears to have bad consequences for Hexagon/HVX codegen?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D81766/new/
https://reviews.llvm.org/D81766
More information about the llvm-commits
mailing list