Epilogue vectorization doesn't support scalable vectorization factors
yet, disable it for now.
Details
Diff Detail
Event Timeline
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
---|---|---|
5778 | We can just return Result around line 5792 (please see suggestion below), then we don't need to change the check near line 9209. | |
5787–5796 | // 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; } | |
9215 | please see comment above. |
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
---|---|---|
5778 |
That makes more sense, cheers. Added a simple test as well. |
LGTM
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp | ||
---|---|---|
5778 | 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.