For scalable type, the aggregated size is unknown at compile-time.
Skip instructions with scalable type to ensure the list of instructions
for vectorizeSimpleInstructions does not contains any scalable-vector instructions.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
---|---|---|
7085 | (style) // For scalable type, num of elements is unknown at compile-time. if (auto *FVTy = dyn_cast<FixedVectorType>(IE->getType())) return FVTy->getNumElements(); return None; |
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
---|---|---|
7079 | I'm a bit concerned that this issue shows up so late in this pass. By the time it gets to this function, I believe we should be able to guarantee that the InsertElementInst is performed on a FixedVectorType. When vectorizeSimpleInstructions gets called, the list of Instructions should not contain any scalable-vector instructions. |
I'm a bit concerned that this issue shows up so late in this pass. By the time it gets to this function, I believe we should be able to guarantee that the InsertElementInst is performed on a FixedVectorType. When vectorizeSimpleInstructions gets called, the list of Instructions should not contain any scalable-vector instructions.