LLVM
8.0.1
|
#include "Target/AMDGPU/AMDGPUIntrinsicInfo.h"
Public Member Functions | |
AMDGPUIntrinsicInfo () | |
StringRef | getName (unsigned IntrId, ArrayRef< Type *> Tys=None) const |
std::string | getName (unsigned IntrId, Type **Tys=nullptr, unsigned NumTys=0) const override |
Return the name of a target intrinsic, e.g. More... | |
unsigned | lookupName (const char *Name, unsigned Len) const override |
Look up target intrinsic by name. More... | |
bool | isOverloaded (unsigned IID) const override |
Returns true if the intrinsic can be overloaded. More... | |
Function * | getDeclaration (Module *M, unsigned ID, Type **Tys=nullptr, unsigned NumTys=0) const override |
Create or insert an LLVM Function declaration for an intrinsic, and return it. More... | |
Function * | getDeclaration (Module *M, unsigned ID, ArrayRef< Type *>=None) const |
FunctionType * | getType (LLVMContext &Context, unsigned ID, ArrayRef< Type *> Tys=None) const |
Public Member Functions inherited from llvm::TargetIntrinsicInfo | |
TargetIntrinsicInfo () | |
virtual | ~TargetIntrinsicInfo () |
unsigned | lookupName (StringRef Name) const |
virtual unsigned | getIntrinsicID (const Function *F) const |
Return the target intrinsic ID of a function, or 0. More... | |
Definition at line 34 of file AMDGPUIntrinsicInfo.h.
AMDGPUIntrinsicInfo::AMDGPUIntrinsicInfo | ( | ) |
Definition at line 23 of file AMDGPUIntrinsicInfo.cpp.
|
overridevirtual |
Create or insert an LLVM Function declaration for an intrinsic, and return it.
The Tys and numTys are for intrinsics with overloaded types. See above for more information.
Implements llvm::TargetIntrinsicInfo.
Definition at line 99 of file AMDGPUIntrinsicInfo.cpp.
References llvm::makeArrayRef().
Function * AMDGPUIntrinsicInfo::getDeclaration | ( | Module * | M, |
unsigned | ID, | ||
ArrayRef< Type *> | Tys = None |
||
) | const |
Definition at line 87 of file AMDGPUIntrinsicInfo.cpp.
References F(), llvm::Intrinsic::getAttributes(), llvm::Module::getContext(), getName(), llvm::Module::getOrInsertFunction(), and getType().
Definition at line 38 of file AMDGPUIntrinsicInfo.cpp.
References assert(), llvm::SIIntrinsic::num_AMDGPU_intrinsics, and llvm::Intrinsic::num_intrinsics.
Referenced by getDeclaration(), and getName().
|
overridevirtual |
Return the name of a target intrinsic, e.g.
"llvm.bfin.ssync". The Tys and numTys parameters are for intrinsics with overloaded types (e.g., those using iAny or fAny). For a declaration for an overloaded intrinsic, Tys should point to an array of numTys pointers to Type, and must provide exactly one type for each overloaded type in the intrinsic.
Implements llvm::TargetIntrinsicInfo.
Definition at line 49 of file AMDGPUIntrinsicInfo.cpp.
References getName(), llvm::makeArrayRef(), and llvm::StringRef::str().
FunctionType * AMDGPUIntrinsicInfo::getType | ( | LLVMContext & | Context, |
unsigned | ID, | ||
ArrayRef< Type *> | Tys = None |
||
) | const |
Definition at line 54 of file AMDGPUIntrinsicInfo.cpp.
References llvm_unreachable.
Referenced by getDeclaration().
Returns true if the intrinsic can be overloaded.
Implements llvm::TargetIntrinsicInfo.
Definition at line 80 of file AMDGPUIntrinsicInfo.cpp.
Referenced by lookupName().
Look up target intrinsic by name.
Return intrinsic ID or 0 for unknown names.
Implements llvm::TargetIntrinsicInfo.
Definition at line 60 of file AMDGPUIntrinsicInfo.cpp.
References isOverloaded(), llvm::Intrinsic::lookupLLVMIntrinsicByName(), Name, llvm::Intrinsic::num_intrinsics, llvm::StringRef::size(), and llvm::StringRef::startswith().