27 #define GET_INTRINSIC_NAME_TABLE 28 #include "AMDGPUGenIntrinsicImpl.inc" 29 #undef GET_INTRINSIC_NAME_TABLE 33 #define GET_INTRINSIC_ATTRIBUTES 34 #include "AMDGPUGenIntrinsicImpl.inc" 35 #undef GET_INTRINSIC_ATTRIBUTES 44 "Invalid intrinsic ID");
50 unsigned NumTys)
const {
71 bool IsPrefixMatch = Name.
size() > strlen(IntrinsicNameTable[Idx]);
82 #define GET_INTRINSIC_OVERLOAD_TABLE 83 #include "AMDGPUGenIntrinsicImpl.inc" 84 #undef GET_INTRINSIC_OVERLOAD_TABLE 101 unsigned NumTys)
const {
LLVM_NODISCARD std::string str() const
str - Get the contents as an std::string.
AMDGPU specific subclass of TargetSubtarget.
This class represents lattice values for constants.
Constant * getOrInsertFunction(StringRef Name, FunctionType *T, AttributeList AttributeList)
Look up the specified function in the module symbol table.
A Module instance is used to store all the information related to an LLVM module. ...
unsigned lookupName(const char *Name, unsigned Len) const override
Look up target intrinsic by name.
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE size_t size() const
size - Get the string size.
bool isOverloaded(unsigned IID) const override
Returns true if the intrinsic can be overloaded.
StringRef getName(unsigned IntrId, ArrayRef< Type *> Tys=None) const
amdgpu Simplify well known AMD library false Value Value const Twine & Name
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
LLVMContext & getContext() const
Get the global data context.
AttributeList getAttributes(LLVMContext &C, ID id)
Return the attributes for an intrinsic.
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool startswith(StringRef Prefix) const
Check if this string starts with the given Prefix.
Class to represent function types.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
FunctionType * getType(LLVMContext &Context, unsigned ID, ArrayRef< Type *> Tys=None) const
The instances of the Type class are immutable: once they are created, they are never changed...
This is an important class for using LLVM in a threaded context.
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.
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
TargetIntrinsicInfo - Interface to description of machine instruction set.
static const char *const IntrinsicNameTable[]
Module.h This file contains the declarations for the Module class.
Interface for the AMDGPU Implementation of the Intrinsic Info class.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
StringRef - Represent a constant reference to a string, i.e.
int lookupLLVMIntrinsicByName(ArrayRef< const char *> NameTable, StringRef Name)
Looks up Name in NameTable via binary search.