This fixes an infinite loop if isa<T>(II->getOperand(1)) is true.
Return an all-0 bitvector, which is done along other error paths instead
of the continue, which leads to an infinite loop because Base
is not updated.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
|---|---|---|
| 386–387 | Move Base = II->getOperand(0); before the if statement instead, it is not an error path | |
| llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | ||
|---|---|---|
| 386–387 | Updated, it looks like we are still missing test coverage for cases where it actually makes a difference though. | |
Move Base = II->getOperand(0); before the if statement instead, it is not an error path