LLVM: include/llvm/IR/Intrinsics.h File Reference (original) (raw)
#include "[llvm/ADT/ArrayRef.h](ArrayRef%5F8h%5Fsource.html)"#include "[llvm/Support/Compiler.h](Compiler%5F8h%5Fsource.html)"#include "[llvm/Support/TypeSize.h](TypeSize%5F8h%5Fsource.html)"#include <optional>#include <string>#include "llvm/IR/IntrinsicEnums.inc"
Functions
llvm::Intrinsic::getName (ID id)
Return the LLVM name for an intrinsic, such as "llvm.ppc.altivec.lvx".
llvm::Intrinsic::getBaseName (ID id)
Return the LLVM name for an intrinsic, without encoded types for overloading, such as "llvm.ssa.copy".
LLVM_ABI 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".
LLVM_ABI std::string
llvm::Intrinsic::getNameNoUnnamedTypes (ID Id, ArrayRef< Type * > Tys)
Return the LLVM name for an intrinsic.
llvm::Intrinsic::getType (LLVMContext &Context, ID id, ArrayRef< Type * > Tys={})
Return the function type for an intrinsic.
llvm::Intrinsic::isOverloaded (ID id)
Returns true if the intrinsic can be overloaded.
llvm::Intrinsic::hasPrettyPrintedArgs (ID id)
Returns true if the intrinsic has pretty printed immediate arguments.
llvm::Intrinsic::isTargetIntrinsic (ID IID)
isTargetIntrinsic - Returns true if IID is an intrinsic specific to a certain target.
llvm::Intrinsic::lookupIntrinsicID (StringRef Name)
This does the actual lookup of an intrinsic ID which matches the given function name.
LLVM_ABI AttributeList
llvm::Intrinsic::getAttributes (LLVMContext &C, ID id, FunctionType *FT)
Return the attributes for an intrinsic.
llvm::Intrinsic::getFnAttributes (LLVMContext &C, ID id)
Return the function attributes for an intrinsic.
llvm::Intrinsic::getOrInsertDeclaration (Module *M, ID id, ArrayRef< Type * > Tys={})
Look up the Function declaration of the intrinsic id in the Module M.
llvm::Intrinsic::getOrInsertDeclaration (Module *M, ID IID, Type *RetTy, ArrayRef< Type * > ArgTys)
Look up the Function declaration of the intrinsic IID in the Module M.
llvm::Intrinsic::getDeclarationIfExists (const Module *M, ID id)
Look up the Function declaration of the intrinsic id in the Module M and return it if it exists.
llvm::Intrinsic::getDeclarationIfExists (Module *M, ID id, ArrayRef< Type * > Tys, FunctionType *FT=nullptr)
This version supports overloaded intrinsics.
llvm::Intrinsic::getIntrinsicForClangBuiltin (StringRef TargetPrefix, StringRef BuiltinName)
Map a Clang builtin name to an intrinsic ID.
llvm::Intrinsic::getIntrinsicForMSBuiltin (StringRef TargetPrefix, StringRef BuiltinName)
Map a MS builtin name to an intrinsic ID.
llvm::Intrinsic::isConstrainedFPIntrinsic (ID QID)
Returns true if the intrinsic ID is for one of the "Constrained Floating-Point Intrinsics".
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.
LLVM_ABI void
llvm::Intrinsic::getIntrinsicInfoTableEntries (ID id, SmallVectorImpl< IITDescriptor > &T)
Return the IIT table descriptor for the specified intrinsic into an array of IITDescriptors.
LLVM_ABI 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.
llvm::Intrinsic::matchIntrinsicVarArg (bool isVarArg, ArrayRef< IITDescriptor > &Infos)
Verify if the intrinsic has variable arguments.
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.
llvm::Intrinsic::getIntrinsicSignature (Function *F, SmallVectorImpl< Type * > &ArgTys)
Same as previous, but accepts a Function instead of ID and FunctionType.
LLVM_ABI std::optional< Function * >
llvm::Intrinsic::remangleIntrinsicFunction (Function *F)
llvm::Intrinsic::getInterleaveIntrinsicID (unsigned Factor)
Returns the corresponding llvm.vector.interleaveN intrinsic for factor N.
llvm::Intrinsic::getDeinterleaveIntrinsicID (unsigned Factor)
Returns the corresponding llvm.vector.deinterleaveN intrinsic for factor N.
LLVM_ABI void
llvm::Intrinsic::printImmArg (ID IID, unsigned ArgIdx, raw_ostream &OS, const Constant *ImmArgVal)
Print the argument info for the arguments with ArgInfo.