Epilogue vectorization doesn't support scalable vectorization factors
yet, disable it for now.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
| llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
|---|---|---|
| 5777 | We can just return Result around line 5792 (please see suggestion below), then we don't need to change the check near line 9209. | |
| 5786–5795 | // FIXME: This can be fixed for scalable vectors later, because at this stage
// the LoopVectorizer will only consider vectorizing a loop with scalable
// vectors when the loop has a hint to enable vectorization for a given VF.
if (MainLoopVF.isScalable()) {
LLVM_DEBUG(dbgs() << "LEV: Epilogue vectorization for scalable vectors not yet supported.\n");
return Result;
} | |
| 9233 | please see comment above. | |
| llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
|---|---|---|
| 5777 |
That makes more sense, cheers. Added a simple test as well. | |
LGTM
| llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
|---|---|---|
| 5777 | I guess there is no reason why the tail can't still be vectorized with a fixed-width VF, but given the state of scalable loop-vec I don't think that is really something to worry about at this point. | |
We can just return Result around line 5792 (please see suggestion below), then we don't need to change the check near line 9209.