LLVM 22.0.0git
|
Provides info so a possible vectorization of a function can be computed. More...
#include "llvm/Analysis/TargetLibraryInfo.h"
Public Member Functions | |
VecDesc ()=delete | |
VecDesc (StringRef ScalarFnName, StringRef VectorFnName, ElementCount VectorizationFactor, bool Masked, StringRef VABIPrefix, std::optional< CallingConv::ID > Conv) | |
StringRef | getScalarFnName () const |
StringRef | getVectorFnName () const |
ElementCount | getVectorizationFactor () const |
bool | isMasked () const |
StringRef | getVABIPrefix () const |
std::optional< CallingConv::ID > | getCallingConv () const |
LLVM_ABI std::string | getVectorFunctionABIVariantString () const |
Returns a vector function ABI variant string on the form: ZGV<isa><mask><vlen><vparams><scalarname>(<vectorname>) |
Provides info so a possible vectorization of a function can be computed.
Function 'VectorFnName' is equivalent to 'ScalarFnName' vectorized by a factor 'VectorizationFactor'. The VABIPrefix string holds information about isa, mask, vlen, and vparams so a scalar-to-vector mapping of the form: ZGV<isa><mask><vlen><vparams><scalarname>(<vectorname>) can be constructed where:
<isa> = "_LLVM_" <mask> = "M" if masked, "N" if no mask. <vlen> = Number of concurrent lanes, stored in the VectorizationFactor field of the VecDesc struct. If the number of lanes is scalable then 'x' is printed instead. <vparams> = "v", as many as are the numArgs. <scalarname> = the name of the scalar function. <vectorname> = the name of the vector function.
Definition at line 43 of file TargetLibraryInfo.h.
|
delete |
|
inline |
Definition at line 53 of file TargetLibraryInfo.h.
|
inline |
Definition at line 65 of file TargetLibraryInfo.h.
Referenced by addVariantDeclaration().
|
inline |
Definition at line 60 of file TargetLibraryInfo.h.
|
inline |
Definition at line 64 of file TargetLibraryInfo.h.
|
inline |
Definition at line 61 of file TargetLibraryInfo.h.
Referenced by addMappingsFromTLI(), addVariantDeclaration(), llvm::SelectionDAG::expandMultipleResultFPLibCall(), llvm::TargetLibraryInfoImpl::getVectorizedFunction(), and replaceWithCallToVeclib().
std::string VecDesc::getVectorFunctionABIVariantString | ( | ) | const |
Returns a vector function ABI variant string on the form: ZGV<isa><mask><vlen><vparams><scalarname>(<vectorname>)
Definition at line 51 of file TargetLibraryInfo.cpp.
References assert(), and llvm::raw_svector_ostream::str().
Referenced by addMappingsFromTLI(), addVariantDeclaration(), and replaceWithCallToVeclib().
|
inline |
Definition at line 62 of file TargetLibraryInfo.h.
|
inline |
Definition at line 63 of file TargetLibraryInfo.h.
Referenced by llvm::SelectionDAG::expandMultipleResultFPLibCall().