[PATCH] D79783: [LoopVectorize] Fallback to a scalar epilogue when TP fails
Pierre van Houtryve via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 19 07:00:41 PDT 2020
Pierre-vh updated this revision to Diff 264887.
Pierre-vh marked 5 inline comments as done.
Pierre-vh added a comment.
- Addressed comments (see items marked as "done")
- Changed "reportVectorizationFailure" calls in "prepareTailFoldingByMasking" into simple debug prints.
> Would be good to also preserve the existing "force-vector-tail-folding" behavior of "fold or do not vectorize", in addition to introducing the new "prefer-vector-tail-folding" behavior.
What is your preferred solution for this? Here are some ideas:
- Add a new command-line switch that acts like the old `-prefer-predicate-over-epilog`, something like `-force-predicate-over-epilog`
- Add an additional switch to use with `-prefer-predicate-over-epilog` to disable the fallback behaviour, such as `-disable-scalar-epilog-fallback`
- Keep the old `-prefer-predicate-over-epilog` behaviour and only fallback when TTI requested tail-folding
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79783/new/
https://reviews.llvm.org/D79783
Files:
llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/ARM/tail-folding-scalar-epilogue-fallback.ll
llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79783.264887.patch
Type: text/x-patch
Size: 19639 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200519/5aa14582/attachment.bin>
More information about the llvm-commits
mailing list