[PATCH] D132458: [LoopVectorize] Synthesize mask operands for vector variants as needed
Graham Hunter via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Nov 24 03:20:12 PST 2022
huntergr updated this revision to Diff 477717.
huntergr retitled this revision from "[LoopVectorize] Support masked function vectorization" to "[LoopVectorize] Synthesize mask operands for vector variants as needed".
huntergr edited the summary of this revision.
huntergr added a comment.
Updated to store the pointer to the vector function in the recipe rather than looking it up again during recipe execution. Forced generation of a plan per VF when there are variants available for those VFs. Added some new tests for masked vs. unmasked variants.
I'm not fond of adding the optional parameters LoopVectorizationCostModel::getVectorCallCost -- it feels like function lookup needs to be split out of it, but I'd like to get some feedback from others before doing so.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132458/new/
https://reviews.llvm.org/D132458
Files:
llvm/include/llvm/Analysis/VectorUtils.h
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
llvm/lib/Transforms/Vectorize/VPlan.h
llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132458.477717.patch
Type: text/x-patch
Size: 34228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221124/8c830116/attachment-0001.bin>
More information about the llvm-commits
mailing list