LLVM 20.0.0git
|
Wrapper class for AMDGPULIbFuncImpl. More...
#include "Target/AMDGPU/AMDGPULibFunc.h"
Public Member Functions | |
AMDGPULibFunc () | |
AMDGPULibFunc (const AMDGPULibFunc &F) | |
AMDGPULibFunc (EFuncId Id, const AMDGPULibFunc &CopyFrom) | |
Clone a mangled library func with the Id Id and argument info from CopyFrom . | |
AMDGPULibFunc (EFuncId Id, FunctionType *FT, bool SignedInts) | |
AMDGPULibFunc (StringRef FName, FunctionType *FT) | |
Construct an unmangled library function on the fly. | |
AMDGPULibFunc & | operator= (const AMDGPULibFunc &F) |
std::string | getName () const |
Get unmangled name for mangled library function and name for unmangled library function. | |
unsigned | getNumArgs () const |
EFuncId | getId () const |
ENamePrefix | getPrefix () const |
Param * | getLeads () |
Get leading parameters for mangled lib functions. | |
const Param * | getLeads () const |
bool | isMangled () const |
void | setId (EFuncId Id) |
bool | parseFuncName (StringRef &MangledName) |
bool | allowsImplicitVectorSplat (int ArgIdx) const |
Return true if it's legal to splat a scalar value passed in parameter ArgIdx to a vector argument. | |
bool | isCompatibleSignature (const Module &M, const FunctionType *FuncTy) const |
std::string | mangle () const |
void | setName (StringRef N) |
void | setPrefix (ENamePrefix PFX) |
FunctionType * | getFunctionType (const Module &M) const |
Static Public Member Functions | |
static Function * | getFunction (llvm::Module *M, const AMDGPULibFunc &fInfo) |
static FunctionCallee | getOrInsertFunction (llvm::Module *M, const AMDGPULibFunc &fInfo) |
static bool | parse (StringRef MangledName, AMDGPULibFunc &Ptr) |
Static Public Member Functions inherited from llvm::AMDGPULibFuncBase | |
static bool | isMangled (EFuncId Id) |
static unsigned | getEPtrKindFromAddrSpace (unsigned AS) |
static unsigned | getAddrSpaceFromEPtrKind (unsigned Kind) |
Wrapper class for AMDGPULIbFuncImpl.
Definition at line 364 of file AMDGPULibFunc.h.
|
inlineexplicit |
Definition at line 366 of file AMDGPULibFunc.h.
AMDGPULibFunc::AMDGPULibFunc | ( | const AMDGPULibFunc & | F | ) |
Definition at line 1130 of file AMDGPULibFunc.cpp.
References F.
|
explicit |
Clone a mangled library func with the Id Id
and argument info from CopyFrom
.
Definition at line 1146 of file AMDGPULibFunc.cpp.
References assert(), isMangled(), and llvm::AMDGPULibFuncBase::isMangled().
|
explicit |
Definition at line 1153 of file AMDGPULibFunc.cpp.
|
explicit |
Construct an unmangled library function on the fly.
Definition at line 1157 of file AMDGPULibFunc.cpp.
References Name.
|
inline |
Return true if it's legal to splat a scalar value passed in parameter ArgIdx
to a vector argument.
Definition at line 396 of file AMDGPULibFunc.h.
References llvm::AMDGPULibFuncBase::EI_FMAX, llvm::AMDGPULibFuncBase::EI_FMIN, llvm::AMDGPULibFuncBase::EI_LDEXP, and getId().
|
static |
Definition at line 1052 of file AMDGPULibFunc.cpp.
References F, isCompatibleSignature(), and mangle().
|
inline |
Definition at line 418 of file AMDGPULibFunc.h.
Referenced by getOrInsertFunction().
|
inline |
Definition at line 382 of file AMDGPULibFunc.h.
Referenced by allowsImplicitVectorSplat(), llvm::AMDGPULibCalls::fold(), and llvm::AMDGPULibCalls::useNative().
AMDGPULibFunc::Param * AMDGPULibFunc::getLeads | ( | ) |
Get leading parameters for mangled lib functions.
Definition at line 1165 of file AMDGPULibFunc.cpp.
Referenced by getArgType(), and getVecSize().
const AMDGPULibFunc::Param * AMDGPULibFunc::getLeads | ( | ) | const |
Definition at line 1171 of file AMDGPULibFunc.cpp.
|
inline |
Get unmangled name for mangled library function and name for unmangled library function.
Definition at line 380 of file AMDGPULibFunc.h.
Referenced by llvm::AMDGPULibCalls::useNative().
|
inline |
Definition at line 381 of file AMDGPULibFunc.h.
|
static |
Definition at line 1068 of file AMDGPULibFunc.cpp.
References llvm::AttributeList::addFnAttribute(), llvm::CallingConv::C, F, getFunctionType(), llvm::Attribute::getWithMemoryEffects(), isCompatibleSignature(), llvm::Type::isPointerTy(), mangle(), llvm::FunctionType::param_begin(), llvm::FunctionType::param_end(), and llvm::MemoryEffectsBase< LocationEnum >::readOnly().
|
inline |
Definition at line 383 of file AMDGPULibFunc.h.
Referenced by llvm::AMDGPULibCalls::useNative().
bool AMDGPULibFunc::isCompatibleSignature | ( | const Module & | M, |
const FunctionType * | FuncTy | ||
) | const |
Definition at line 1012 of file AMDGPULibFunc.cpp.
References llvm::FunctionType::getNumParams(), llvm::FunctionType::getParamType(), I, and llvm::AMDGPULibFuncBase::isMangled().
Referenced by llvm::AMDGPULibCalls::fold(), getFunction(), and getOrInsertFunction().
|
inline |
Definition at line 388 of file AMDGPULibFunc.h.
Referenced by AMDGPULibFunc(), and llvm::AMDGPULibCalls::useNative().
|
inline |
Definition at line 413 of file AMDGPULibFunc.h.
Referenced by getFunction(), and getOrInsertFunction().
AMDGPULibFunc & AMDGPULibFunc::operator= | ( | const AMDGPULibFunc & | F | ) |
Definition at line 1139 of file AMDGPULibFunc.cpp.
References F.
|
static |
Definition at line 692 of file AMDGPULibFunc.cpp.
References llvm::StringRef::empty(), and F.
Definition at line 390 of file AMDGPULibFunc.h.
|
inline |
Definition at line 389 of file AMDGPULibFunc.h.
|
inline |
Definition at line 415 of file AMDGPULibFunc.h.
References N.
|
inline |
Definition at line 416 of file AMDGPULibFunc.h.
References PFX.
Referenced by llvm::AMDGPULibCalls::useNative().