[all-commits] [llvm/llvm-project] 69ee65: [LoopVectorize] Take vscale into account when deci...
david-arm via All-commits
all-commits at lists.llvm.org
Mon Apr 17 03:50:46 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 69ee6533131d030bc724193bfc1b91fcc99a81d2
https://github.com/llvm/llvm-project/commit/69ee6533131d030bc724193bfc1b91fcc99a81d2
Author: David Sherwood <david.sherwood at arm.com>
Date: 2023-04-17 (Mon, 17 Apr 2023)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/runtime-check-size-based-threshold.ll
A llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-vscale-tune.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
Log Message:
-----------
[LoopVectorize] Take vscale into account when deciding to create epilogues
In LoopVectorizationCostModel::isEpilogueVectorizationProfitable we
check to see if the chosen main vector loop VF >= 16. If so, we
decide to create a vector epilogue loop. However, this doesn't
take VScaleForTuning into account because we could be targeting a
CPU where vscale > 1, and hence the runtime VF would be a multiple
of the known minimum value.
This patch multiplies scalable VFs by VScaleForTuning and several
tests have been updated that now produce vector epilogues.
Differential Revision: https://reviews.llvm.org/D147522
More information about the All-commits
mailing list