Need to adjust the types of GEPs indices when building the tree
entries/operands. Otherwise some of the nodes might differ and
vectorizer is unable to correctly find them and count their cost.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
---|---|---|
3876 | SmallVector<ValueList> Operands(1, ValueList()); |
There is no cost difference, just the tests are crashing.
Ok, I see, so add such test to this commit?
We already have these tests. Just before we did this adjustment during vector code emission but instead we should do it when building the tree entry. I have some other patches that depend on this one.
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
---|---|---|
3881 | Update comment explaining why this is done here instead of VectorizeTree() ? |
Hi, I can't build with this commit (see inline comment).
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
---|---|---|
3891 | This is failing to build for me because IndexIdx isn't captured here. |
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
---|---|---|
3891 | Fixed already in cdf8a53c1d33ad79be857991fbe4e7e7ced71021 |
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
---|---|---|
3891 | Aha thanks, sorry for the noise. |