Skip to content

Conversation

@JolantaJensen
Copy link
Contributor

A guard for empty vector function name was removed in #66656. This patch adds the guard back.

A guard for empty vector function name was removed in llvm#66656. This patch adds the guard back.
@llvmbot llvmbot added llvm:analysis Includes value tracking, cost tables and constant folding llvm:transforms labels Oct 3, 2023
@llvmbot
Copy link
Member

llvmbot commented Oct 3, 2023

@llvm/pr-subscribers-llvm-transforms

@llvm/pr-subscribers-llvm-analysis

Changes

A guard for empty vector function name was removed in #66656. This patch adds the guard back.


Full diff: https://github.com/llvm/llvm-project/pull/68100.diff

2 Files Affected:

  • (modified) llvm/lib/Analysis/TargetLibraryInfo.cpp (+1)
  • (modified) llvm/lib/Transforms/Utils/InjectTLIMappings.cpp (+1-1)
diff --git a/llvm/lib/Analysis/TargetLibraryInfo.cpp b/llvm/lib/Analysis/TargetLibraryInfo.cpp index 2b1c23710d00498..7b38583e9bc75f0 100644 --- a/llvm/lib/Analysis/TargetLibraryInfo.cpp +++ b/llvm/lib/Analysis/TargetLibraryInfo.cpp @@ -46,6 +46,7 @@ StringLiteral const TargetLibraryInfoImpl::StandardNames[LibFunc::NumLibFuncs] = }; std::string VecDesc::getVectorFunctionABIVariantString() const { + assert(!VectorFnName.empty() && "Vector function name must not be empty."); SmallString<256> Buffer; llvm::raw_svector_ostream Out(Buffer); Out << VABIPrefix << "_" << ScalarFnName << "(" << VectorFnName << ")"; diff --git a/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp b/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp index 04e67f713ac1167..0990c750af55f14 100644 --- a/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp +++ b/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp @@ -92,7 +92,7 @@ static void addMappingsFromTLI(const TargetLibraryInfo &TLI, CallInst &CI) { auto AddVariantDecl = [&](const ElementCount &VF, bool Predicate) { const VecDesc *VD = TLI.getVectorMappingInfo(ScalarName, VF, Predicate); - if (VD) { + if (VD && !VD->getVectorFnName().empty()) { std::string MangledName = VD->getVectorFunctionABIVariantString(); if (!OriginalSetOfMappings.count(MangledName)) { Mappings.push_back(MangledName); 
@mikaelholmen
Copy link
Collaborator

Thanks!
This solves the problems we saw with #66656 for our out-of-tree target.

@JolantaJensen JolantaJensen merged commit 9546b5d into llvm:main Oct 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

llvm:analysis Includes value tracking, cost tables and constant folding llvm:transforms

4 participants