[PATCH] D132458: [LoopVectorize] Support masked function vectorization
Philip Reames via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 26 08:21:45 PDT 2022
reames added a comment.
Herald added a subscriber: pcwang-thead.
I recommend you split this patch into the following patches:
- First, add support for calling the predicated call version when masking is not required for correctness. This requires all the plumbing for costing both versions of the call (if both are available), and let's you test those bits.
- Second, add support for predicated calls via scalar-with-predication. This requires speculation reasoning (which you don't appear to have), and is complicated enough to need testing on it's own. (This may partially exist already, but some of the code at least is incomplete since e.g. isPredicatedInst always returns false for calls.)
- Third, come back and add support for predication of calls via masking (as opposed to replication.)
The first and second step are independent, and could be done in either order.
================
Comment at: llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll:1
; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -instsimplify -S | FileCheck %s --check-prefixes=CHECK,LV
; RUN: opt < %s -loop-vectorize -force-vector-interleave=1 -prefer-predicate-over-epilogue=predicate-dont-vectorize -instsimplify -S | FileCheck %s --check-prefixes=CHECK,TFALWAYS
----------------
Please autogenerate these tests for readability.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D132458/new/
https://reviews.llvm.org/D132458
More information about the llvm-commits
mailing list