LLVM 19.0.0git
Classes | Namespaces | Macros | Enumerations | Functions | Variables
Intrinsics.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/TypeSize.h"
#include <optional>
#include <string>
#include "llvm/IR/IntrinsicEnums.inc"

Go to the source code of this file.


struct  llvm::Intrinsic::IITDescriptor
 This is a type descriptor which explains the type requirements of an intrinsic. More...


namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::Intrinsic
 This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM.




enum  llvm::Intrinsic::IndependentIntrinsics : unsigned { llvm::Intrinsic::not_intrinsic = 0 }
enum  llvm::Intrinsic::MatchIntrinsicTypesResult { llvm::Intrinsic::MatchIntrinsicTypes_Match = 0 , llvm::Intrinsic::MatchIntrinsicTypes_NoMatchRet = 1 , llvm::Intrinsic::MatchIntrinsicTypes_NoMatchArg = 2 }


StringRef llvm::Intrinsic::getName (ID id)
 Return the LLVM name for an intrinsic, such as "llvm.ppc.altivec.lvx".
StringRef llvm::Intrinsic::getBaseName (ID id)
 Return the LLVM name for an intrinsic, without encoded types for overloading, such as "llvm.ssa.copy".
std::string llvm::Intrinsic::getName (ID Id, ArrayRef< Type * > Tys, Module *M, FunctionType *FT=nullptr)
 Return the LLVM name for an intrinsic, such as "llvm.ppc.altivec.lvx" or "llvm.ssa.copy.p0s_s.1".
std::string llvm::Intrinsic::getNameNoUnnamedTypes (ID Id, ArrayRef< Type * > Tys)
 Return the LLVM name for an intrinsic.
FunctionTypellvm::Intrinsic::getType (LLVMContext &Context, ID id, ArrayRef< Type * > Tys=std::nullopt)
 Return the function type for an intrinsic.
bool llvm::Intrinsic::isOverloaded (ID id)
 Returns true if the intrinsic can be overloaded.
AttributeList llvm::Intrinsic::getAttributes (LLVMContext &C, ID id)
 Return the attributes for an intrinsic.
Functionllvm::Intrinsic::getDeclaration (Module *M, ID id, ArrayRef< Type * > Tys=std::nullopt)
 Create or insert an LLVM Function declaration for an intrinsic, and return it.
int llvm::Intrinsic::lookupLLVMIntrinsicByName (ArrayRef< const char * > NameTable, StringRef Name)
 Looks up Name in NameTable via binary search.
ID llvm::Intrinsic::getIntrinsicForClangBuiltin (const char *Prefix, StringRef BuiltinName)
 Map a Clang builtin name to an intrinsic ID.
ID llvm::Intrinsic::getIntrinsicForMSBuiltin (const char *Prefix, StringRef BuiltinName)
 Map a MS builtin name to an intrinsic ID.
bool llvm::Intrinsic::isConstrainedFPIntrinsic (ID QID)
 Returns true if the intrinsic ID is for one of the "Constrained Floating-Point Intrinsics".
bool llvm::Intrinsic::hasConstrainedFPRoundingModeOperand (ID QID)
 Returns true if the intrinsic ID is for one of the "Constrained Floating-Point Intrinsics" that take rounding mode metadata.
void llvm::Intrinsic::getIntrinsicInfoTableEntries (ID id, SmallVectorImpl< IITDescriptor > &T)
 Return the IIT table descriptor for the specified intrinsic into an array of IITDescriptors.
MatchIntrinsicTypesResult llvm::Intrinsic::matchIntrinsicSignature (FunctionType *FTy, ArrayRef< IITDescriptor > &Infos, SmallVectorImpl< Type * > &ArgTys)
 Match the specified function type with the type constraints specified by the .td file.
bool llvm::Intrinsic::matchIntrinsicVarArg (bool isVarArg, ArrayRef< IITDescriptor > &Infos)
 Verify if the intrinsic has variable arguments.
bool llvm::Intrinsic::getIntrinsicSignature (Intrinsic::ID, FunctionType *FT, SmallVectorImpl< Type * > &ArgTys)
 Gets the type arguments of an intrinsic call by matching type contraints specified by the .td file.
bool llvm::Intrinsic::getIntrinsicSignature (Function *F, SmallVectorImpl< Type * > &ArgTys)
 Same as previous, but accepts a Function instead of ID and FunctionType.
std::optional< Function * > llvm::Intrinsic::remangleIntrinsicFunction (Function *F)


static const int llvm::Intrinsic::NoAliasScopeDeclScopeArg = 0

Macro Definition Documentation



Definition at line 160 of file Intrinsics.h.



Definition at line 47 of file Intrinsics.h.