|
LLVM 23.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 368 of file AMDGPULibFunc.h.
|
inlineexplicit |
Definition at line 370 of file AMDGPULibFunc.h.
Referenced by AMDGPULibFunc(), AMDGPULibFunc(), getFunction(), getOrInsertFunction(), operator=(), and parse().
| AMDGPULibFunc::AMDGPULibFunc | ( | const AMDGPULibFunc & | F | ) |
Definition at line 1167 of file AMDGPULibFunc.cpp.
References AMDGPULibFunc(), llvm::dyn_cast(), and F.
|
explicit |
Clone a mangled library func with the Id Id and argument info from CopyFrom.
Definition at line 1185 of file AMDGPULibFunc.cpp.
References AMDGPULibFunc(), assert(), llvm::cast(), isMangled(), and llvm::AMDGPULibFuncBase::isMangled().
|
explicit |
Definition at line 1192 of file AMDGPULibFunc.cpp.
|
explicit |
Construct an unmangled library function on the fly.
Definition at line 1196 of file AMDGPULibFunc.cpp.
|
inline |
Return true if it's legal to splat a scalar value passed in parameter ArgIdx to a vector argument.
Definition at line 400 of file AMDGPULibFunc.h.
References llvm::AMDGPULibFuncBase::EI_FMAX, llvm::AMDGPULibFuncBase::EI_FMIN, llvm::AMDGPULibFuncBase::EI_LDEXP, and getId().
Referenced by isCompatibleSignature().
|
static |
Definition at line 1073 of file AMDGPULibFunc.cpp.
References AMDGPULibFunc(), llvm::dyn_cast_or_null(), llvm::AMDGPULibFuncBase::EI_POW_FAST, llvm::AMDGPULibFuncBase::EI_POWN_FAST, llvm::AMDGPULibFuncBase::EI_POWR_FAST, llvm::AMDGPULibFuncBase::EI_ROOTN_FAST, F, getId(), isCompatibleSignature(), and mangle().
|
inline |
Definition at line 422 of file AMDGPULibFunc.h.
Referenced by getOrInsertFunction(), and isCompatibleSignature().
|
inline |
Definition at line 386 of file AMDGPULibFunc.h.
Referenced by allowsImplicitVectorSplat(), llvm::AMDGPULibCalls::fold(), getFunction(), isCompatibleSignature(), and llvm::AMDGPULibCalls::useNative().
| AMDGPULibFunc::Param * AMDGPULibFunc::getLeads | ( | ) |
Get leading parameters for mangled lib functions.
Definition at line 1204 of file AMDGPULibFunc.cpp.
References llvm::cast().
Referenced by getArgType(), and getVecSize().
| const AMDGPULibFunc::Param * AMDGPULibFunc::getLeads | ( | ) | const |
Definition at line 1210 of file AMDGPULibFunc.cpp.
References llvm::cast().
|
inline |
Get unmangled name for mangled library function and name for unmangled library function.
Definition at line 384 of file AMDGPULibFunc.h.
Referenced by llvm::AMDGPULibCalls::useNative().
|
inline |
Definition at line 385 of file AMDGPULibFunc.h.
Referenced by isCompatibleSignature().
|
static |
Definition at line 1104 of file AMDGPULibFunc.cpp.
References AMDGPULibFunc(), assert(), llvm::CallingConv::C, llvm::dyn_cast_or_null(), F, getFunctionType(), llvm::Attribute::getWithMemoryEffects(), isCompatibleSignature(), llvm::Type::isPointerTy(), mangle(), and llvm::MemoryEffectsBase< IRMemLocation >::readOnly().
|
inline |
Definition at line 387 of file AMDGPULibFunc.h.
Referenced by llvm::AMDGPULibCalls::useNative().
| bool AMDGPULibFunc::isCompatibleSignature | ( | const Module & | M, |
| const FunctionType * | FuncTy ) const |
Definition at line 1033 of file AMDGPULibFunc.cpp.
References allowsImplicitVectorSplat(), llvm::dyn_cast(), getFunctionType(), getId(), getNumArgs(), llvm::FunctionType::getNumParams(), llvm::FunctionType::getParamType(), I, and llvm::AMDGPULibFuncBase::isMangled().
Referenced by llvm::AMDGPULibCalls::fold(), getFunction(), and getOrInsertFunction().
|
inline |
Definition at line 392 of file AMDGPULibFunc.h.
Referenced by AMDGPULibFunc(), and llvm::AMDGPULibCalls::useNative().
|
inline |
Definition at line 417 of file AMDGPULibFunc.h.
Referenced by getFunction(), and getOrInsertFunction().
| AMDGPULibFunc & AMDGPULibFunc::operator= | ( | const AMDGPULibFunc & | F | ) |
Definition at line 1176 of file AMDGPULibFunc.cpp.
References AMDGPULibFunc(), and F.
|
static |
Definition at line 696 of file AMDGPULibFunc.cpp.
References AMDGPULibFunc(), llvm::StringRef::empty(), and F.
Definition at line 394 of file AMDGPULibFunc.h.
|
inline |
Definition at line 393 of file AMDGPULibFunc.h.
|
inline |
Definition at line 419 of file AMDGPULibFunc.h.
References N.
|
inline |
Definition at line 420 of file AMDGPULibFunc.h.
References PFX.
Referenced by llvm::AMDGPULibCalls::useNative().