16 #ifndef LLVM_IR_INTRINSICS_H 17 #define LLVM_IR_INTRINSICS_H 41 #define GET_INTRINSIC_ENUM_VALUES 42 #include "llvm/IR/IntrinsicEnums.inc" 43 #undef GET_INTRINSIC_ENUM_VALUES 57 std::string
getName(
ID id, ArrayRef<Type*> Tys);
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
This class represents an incoming formal argument to a Function.
ArgKind getArgumentKind() const
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
bool isOverloaded(ID id)
Returns true if the intrinsic can be overloaded.
This is a type descriptor which explains the type requirements of an intrinsic.
amdgpu Simplify well known AMD library false Value Value const Twine & Name
StringRef getName(ID id)
Return the LLVM name for an intrinsic, such as "llvm.ppc.altivec.lvx".
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
unsigned getArgumentNumber() const
AttributeList getAttributes(LLVMContext &C, ID id)
Return the attributes for an intrinsic.
llvm::Optional< Function * > remangleIntrinsicFunction(Function *F)
unsigned Struct_NumElements
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
Function * getDeclaration(Module *M, ID id, ArrayRef< Type *> Tys=None)
Create or insert an LLVM Function declaration for an intrinsic, and return it.
bool isLeaf(ID id)
Returns true if the intrinsic is a leaf, i.e.
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.
unsigned Pointer_AddressSpace
unsigned getOverloadArgNumber() const
enum llvm::Intrinsic::IITDescriptor::IITDescriptorKind Kind
bool matchIntrinsicVarArg(bool isVarArg, ArrayRef< IITDescriptor > &Infos)
Verify if the intrinsic has variable arguments.
ID getIntrinsicForGCCBuiltin(const char *Prefix, StringRef BuiltinName)
Map a GCC builtin name to an intrinsic ID.
void getIntrinsicInfoTableEntries(ID id, SmallVectorImpl< IITDescriptor > &T)
Return the IIT table descriptor for the specified intrinsic into an array of IITDescriptors.
FunctionType * getType(LLVMContext &Context, ID id, ArrayRef< Type *> Tys=None)
Return the function type for an intrinsic.
unsigned getRefArgNumber() const
bool matchIntrinsicType(Type *Ty, ArrayRef< IITDescriptor > &Infos, SmallVectorImpl< Type *> &ArgTys)
Match the specified type (which comes from an intrinsic argument or return value) with the type const...
ID getIntrinsicForMSBuiltin(const char *Prefix, StringRef BuiltinName)
Map a MS builtin name to an intrinsic ID.
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.