27 #define GET_INTRINSIC_NAME_TABLE
28 #include "AMDGPUGenIntrinsics.inc"
29 #undef GET_INTRINSIC_NAME_TABLE
33 #define GET_INTRINSIC_ATTRIBUTES
34 #include "AMDGPUGenIntrinsics.inc"
35 #undef GET_INTRINSIC_ATTRIBUTES
44 "Invalid intrinsic ID");
50 unsigned NumTys)
const {
58 case AMDGPUIntrinsic::amdgcn_fdiv_fast: {
89 #define GET_INTRINSIC_OVERLOAD_TABLE
90 #include "AMDGPUGenIntrinsics.inc"
91 #undef GET_INTRINSIC_OVERLOAD_TABLE
102 F->setAttributes(AS);
108 unsigned NumTys)
const {
AMDGPU specific subclass of TargetSubtarget.
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.
bool isOverloaded(unsigned IID) const override
Returns true if the intrinsic can be overloaded.
StringRef getName(unsigned IntrId, ArrayRef< Type * > Tys=None) const
static Type * getFloatTy(LLVMContext &C)
ArrayRef< T > makeArrayRef(const T &OneElt)
Construct an ArrayRef from a single element.
Class to represent function types.
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE bool startswith(StringRef Prefix) const
Check if this string starts with the given Prefix.
static FunctionType * get(Type *Result, ArrayRef< Type * > Params, bool isVarArg)
This static method is the primary way of constructing a FunctionType.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
LLVM_NODISCARD LLVM_ATTRIBUTE_ALWAYS_INLINE size_t size() const
size - Get the string size.
Constant * getOrInsertFunction(StringRef Name, FunctionType *T, AttributeSet AttributeList)
Look up the specified function in the module symbol table.
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.
FunctionType * getType(LLVMContext &Context, unsigned ID, ArrayRef< Type * > Tys=None) const
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.
LLVM_NODISCARD std::string str() const
str - Get the contents as an std::string.
#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.
AttributeSet getAttributes(LLVMContext &C, ID id)
Return the attributes for an intrinsic.
int lookupLLVMIntrinsicByName(ArrayRef< const char * > NameTable, StringRef Name)
Looks up Name in NameTable via binary search.
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
StringRef - Represent a constant reference to a string, i.e.
LLVMContext & getContext() const
Get the global data context.