Successive elements of types whose Alloc size doesn't match the type size have some padding bits in between, preventing the vectorizer from kicking in.
Let's handle this case by promoting the load/store to a type that's as big as the Alloc size and truncating/extending the values as needed.
Details
Details
- Reviewers
delena fhahn lebedev.ri
Diff Detail
Diff Detail
Event Timeline
llvm/include/llvm/IR/DataLayout.h | ||
---|---|---|
519 | ... and replace hasIrregularType() in LoopVectorize.cpp with this check? |
Split this into a preparatory patch?