LLVM  10.0.0svn
Functions
llvm::VFABI Namespace Reference

Functions

Optional< VFInfotryDemangleForVFABI (StringRef MangledName)
 Function to contruct a VFInfo out of a mangled names in the following format: More...
 
VFParamKind getVFParamKindFromString (const StringRef Token)
 Retrieve the VFParamKind from a string token. More...
 

Function Documentation

◆ getVFParamKindFromString()

VFParamKind llvm::VFABI::getVFParamKindFromString ( const StringRef  Token)

◆ tryDemangleForVFABI()

Optional< VFInfo > llvm::VFABI::tryDemangleForVFABI ( StringRef  MangledName)

Function to contruct a VFInfo out of a mangled names in the following format:

<VFABI_name>{(<redirection>)}

where <VFABI_name> is the name of the vector function, mangled according to the rules described in the Vector Function ABI of the target vector extentsion (or <isa> from now on). The <VFABI_name> is in the following format:

ZGV<isa><mask><vlen><parameters><scalarname>[(<redirection>)]

This methods support demangling rules for the following <isa>:

Parameters
MangledName-> input string in the format ZGV<isa><mask><vlen><parameters><scalarname>[(<redirection>)].

Definition at line 288 of file VFABIDemangling.cpp.

References assert(), llvm::SmallVectorTemplateCommon< T >::back(), llvm::SmallVectorTemplateCommon< T >::begin(), llvm::StringRef::consume_back(), llvm::StringRef::consume_front(), llvm::count_if(), llvm::SmallVectorBase::empty(), llvm::StringRef::empty(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::Error, llvm::GlobalPredicate, llvm::tgtok::In, IsMasked(), llvm::StringRef::ltrim(), llvm::None, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::SmallVectorBase::size(), and llvm::StringRef::take_while().