LLVM API Documentation
Classes | |
| struct | IITDescriptor |
Enumerations | |
| enum | ID { not_intrinsic = 0 } |
Functions | |
| std::string | getName (ID id, ArrayRef< Type * > Tys=None) |
| FunctionType * | getType (LLVMContext &Context, ID id, ArrayRef< Type * > Tys=None) |
| bool | isOverloaded (ID id) |
| AttributeSet | getAttributes (LLVMContext &C, ID id) |
| Function * | getDeclaration (Module *M, ID id, ArrayRef< Type * > Tys=None) |
| ID | getIntrinsicForGCCBuiltin (const char *Prefix, const char *BuiltinName) |
| Map a GCC builtin name to an intrinsic ID. | |
| void | getIntrinsicInfoTableEntries (ID id, SmallVectorImpl< IITDescriptor > &T) |
Intrinsic Namespace - This namespace contains an enum with a value for every intrinsic/builtin function known by LLVM. These enum values are returned by Function::getIntrinsicID().
| enum llvm::Intrinsic::ID |
Definition at line 36 of file Intrinsics.h.
| AttributeSet llvm::Intrinsic::getAttributes | ( | LLVMContext & | C, |
| ID | id | ||
| ) |
Intrinsic::getAttributes(ID) - Return the attributes for an intrinsic.
Referenced by llvm::MipsAsmPrinter::EmitFunctionBodyStart(), llvm::AttributeSet::getAsString(), llvm::AttributeSet::getAttribute(), llvm::MBlazeIntrinsicInfo::getDeclaration(), llvm::AttributeSet::getFnAttributes(), llvm::AttributeSet::getParamAlignment(), llvm::AttributeSet::getParamAttributes(), llvm::AttributeSet::getRetAttributes(), llvm::AttributeSet::getStackAlignment(), llvm::AttributeSet::hasAttribute(), llvm::AttributeSet::hasAttributes(), llvm::Instruction::isIdenticalToWhenDefined(), llvm::Instruction::isSameOperationAs(), and llvm::UpgradeIntrinsicFunction().
Intrinsic::getDeclaration(M, ID) - Create or insert an LLVM Function declaration for an intrinsic, and return it.
The Tys parameter is for intrinsics with overloaded types (e.g., those using iAny, fAny, vAny, or iPTRAny). For a declaration of an overloaded intrinsic, Tys must provide exactly one type for each overloaded type in the intrinsic.
Definition at line 657 of file Function.cpp.
References llvm::Module::getContext(), getName(), llvm::Module::getOrInsertFunction(), and getType().
Referenced by changeToUnreachable(), llvm::IRBuilderBase::CreateLifetimeEnd(), llvm::IRBuilderBase::CreateLifetimeStart(), llvm::IRBuilderBase::CreateMemCpy(), llvm::IRBuilderBase::CreateMemMove(), llvm::IRBuilderBase::CreateMemSet(), generateUnsignedDivisionCode(), HandleByValArgument(), INITIALIZE_PASS(), llvm::InlineFunction(), llvm::DIBuilder::insertDbgValueIntrinsic(), llvm::DIBuilder::insertDeclare(), llvm::IntrinsicLowering::LowerToByteSwap(), ProcessUAddIdiom(), ProcessUGT_ADDCST_ADD(), llvm::UpgradeIntrinsicCall(), UpgradeIntrinsicFunction1(), UpgradeSSE41Function(), llvm::InstCombiner::visitAllocSite(), llvm::InstCombiner::visitCallInst(), and llvm::InstCombiner::visitFPTrunc().
| ID llvm::Intrinsic::getIntrinsicForGCCBuiltin | ( | const char * | Prefix, |
| const char * | BuiltinName | ||
| ) |
Map a GCC builtin name to an intrinsic ID.
Referenced by llvm::MBlazeIntrinsicInfo::lookupGCCName(), and llvm::AMDGPUIntrinsicInfo::lookupName().
| void llvm::Intrinsic::getIntrinsicInfoTableEntries | ( | ID | id, |
| SmallVectorImpl< IITDescriptor > & | T | ||
| ) |
getIntrinsicInfoTableEntries - Return the IIT table descriptor for the specified intrinsic into an array of IITDescriptors.
Definition at line 553 of file Function.cpp.
References DecodeIITType(), llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and llvm::ArrayRef< T >::size().
Referenced by getType().
Intrinsic::getName(ID) - Return the LLVM name for an intrinsic, such as "llvm.ppc.altivec.lvx".
Definition at line 384 of file Function.cpp.
References llvm::ArrayRef< T >::empty(), llvm::EVT::getEVT(), llvm::EVT::getEVTString(), llvm::ArrayRef< T >::size(), and llvm::utostr().
Referenced by llvm::MCDwarfFileTable::EmitCU(), EmitGenDwarfInfo(), getDeclaration(), llvm::Region::getNameStr(), llvm::SDNode::getOperationName(), llvm::Type::getStructName(), llvm::DbgVariable::getType(), INITIALIZE_PASS(), llvm::MachineTraceMetrics::Ensemble::invalidate(), LLVMGetSectionName(), LLVMGetSymbolName(), llvm::operator<<(), llvm::MachineTraceMetrics::Ensemble::print(), printEdgeCounter(), llvm::AArch64AsmPrinter::printSymbolicAddress(), and llvm::SelectionDAG::viewGraph().
| FunctionType * llvm::Intrinsic::getType | ( | LLVMContext & | Context, |
| ID | id, | ||
| ArrayRef< Type * > | Tys = None |
||
| ) |
Intrinsic::getType(ID) - Return the function type for an intrinsic.
Definition at line 631 of file Function.cpp.
References DecodeFixedType(), llvm::ArrayRef< T >::empty(), llvm::FunctionType::get(), getIntrinsicInfoTableEntries(), and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
| bool llvm::Intrinsic::isOverloaded | ( | ID | id | ) |
Intrinsic::isOverloaded(ID) - Returns true if the intrinsic can be overloaded.
Definition at line 646 of file Function.cpp.