[PATCH] D67572: [VectorUtils] Introduce the Vector Function Database (VFDatabase).
Mikael Holmén via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 11 06:55:03 PST 2019
uabelho added a comment.
Hi @fpetrogalli ,
A question regarding this patch.
For my out-of-tree target vectorization of intrinsics added for my target seems to have stopped working with this patch.
Is there something/what do I have to do to make the vectorizer understand my intrinsics are vectorizable?
Looking at this code in LoopVectorizationLegality.cpp:
// We handle calls that:
// * Are debug info intrinsics.
// * Have a mapping to an IR intrinsic.
// * Have a vector version available.
auto *CI = dyn_cast<CallInst>(&I);
if (CI && !getVectorIntrinsicIDForCall(CI, TLI) &&
!isa<DbgInfoIntrinsic>(CI) &&
!(CI->getCalledFunction() && TLI &&
!VFDatabase::getMappings(*CI).empty())) {
VFDatabase::getMappings(*CI).empty() is indeed true for my intrisic, and if I dig further, I take this return in
static void getVFABIMappings(const CallInst &CI,
SmallVectorImpl<VFInfo> &Mappings) {
const StringRef ScalarName = CI.getCalledFunction()->getName();
const StringRef S =
CI.getAttribute(AttributeList::FunctionIndex, VFABI::MappingsAttrName)
.getValueAsString();
if (S.empty())
return;
Is there some existing commit where in-tree targets have been modified already to work with the new VFDatabase?
Thanks!
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67572/new/
https://reviews.llvm.org/D67572
More information about the llvm-commits
mailing list