16 #ifndef LLVM_IR_INTRINSICS_H
17 #define LLVM_IR_INTRINSICS_H
41 #define GET_INTRINSIC_ENUM_VALUES
42 #include "llvm/IR/Intrinsics.gen"
43 #undef GET_INTRINSIC_ENUM_VALUES
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...
LLVM Argument representation.
unsigned getArgumentNumber() const
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.
FunctionType * getType(LLVMContext &Context, ID id, ArrayRef< Type * > Tys=None)
Return the function type for an intrinsic.
ArgKind getArgumentKind() const
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...
llvm::Optional< Function * > remangleIntrinsicFunction(Function *F)
Class to represent function types.
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
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.
static GCRegistry::Add< ShadowStackGC > C("shadow-stack","Very portable GC for uncooperative code generators")
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.
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.