LLVM: llvm::RTLIB::RuntimeLibcallsInfo Struct Reference (original) (raw)
A simple container for information about the supported runtime calls. More...
#include "[llvm/IR/RuntimeLibcalls.h](RuntimeLibcalls%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| RuntimeLibcallsInfo ()=default | |
| RuntimeLibcallsInfo (const Triple &TT, ExceptionHandling ExceptionModel=ExceptionHandling::None, FloatABI::ABIType FloatABI=FloatABI::Default, EABI EABIVersion=EABI::Default, StringRef ABIName="", VectorLibrary VecLib=VectorLibrary::NoLibrary) | |
| RuntimeLibcallsInfo (const Module &M) | |
| bool | invalidate (Module &M, const PreservedAnalyses &PA, ModuleAnalysisManager::Invalidator &) |
| void | setLibcallImplCallingConv (RTLIB::LibcallImpl Call, CallingConv::ID CC) |
| Set the CallingConv that should be used for the specified libcall implementation. | |
| CallingConv::ID | getLibcallImplCallingConv (RTLIB::LibcallImpl Call) const |
| Get the CallingConv that should be used for the specified libcall. | |
| unsigned | getNumAvailableLibcallImpls () const |
| bool | isAvailable (RTLIB::LibcallImpl Impl) const |
| void | setAvailable (RTLIB::LibcallImpl Impl) |
| LLVM_ABI RTLIB::LibcallImpl | getSupportedLibcallImpl (StringRef FuncName) const |
| Check if this is valid libcall for the current module, otherwise RTLIB::Unsupported. | |
| std::pair< FunctionType *, AttributeList > | getFunctionTy (LLVMContext &Ctx, const Triple &TT, const DataLayout &DL, RTLIB::LibcallImpl LibcallImpl) const |
| Static Public Member Functions | |
|---|---|
| static StringRef | getLibcallImplName (RTLIB::LibcallImpl CallImpl) |
| Get the libcall routine name for the specified libcall implementation. | |
| static RTLIB::Libcall | getLibcallFromImpl (RTLIB::LibcallImpl Impl) |
| Return the libcall provided by Impl. | |
| static LLVM_ABI iota_range< RTLIB::LibcallImpl > | lookupLibcallImplName (StringRef Name) |
| Check if a function name is a recognized runtime call of any kind. | |
| static bool | hasVectorMaskArgument (RTLIB::LibcallImpl Impl) |
| Returns true if the function has a vector mask argument, which is assumed to be the last argument. |
| Friends | |
|---|---|
| class | llvm::LibcallLoweringInfo |
A simple container for information about the supported runtime calls.
Definition at line 73 of file RuntimeLibcalls.h.
| llvm::RTLIB::RuntimeLibcallsInfo::RuntimeLibcallsInfo ( ) | default |
|---|
◆ RuntimeLibcallsInfo() [2/3]
◆ RuntimeLibcallsInfo() [3/3]
| RuntimeLibcallsInfo::RuntimeLibcallsInfo ( const Module & M) | explicit |
|---|
◆ getFunctionTy()
Returns
the function type and attributes for the LibcallImpl, depending on the target TT. If the function has incomplete type information, return nullptr for the function type.
Definition at line 141 of file RuntimeLibcalls.cpp.
References llvm::Alloc, llvm::MemoryEffectsBase< IRMemLocation >::argMemOnly(), llvm::MemoryEffectsBase< IRMemLocation >::argumentOrErrnoMemOnly(), llvm::ARM::ARM_ABI_APCS, llvm::ARM::computeTargetABI(), DL, llvm::MemoryEffectsBase< IRMemLocation >::errnoMemOnly(), llvm::fcNegInf, llvm::fcNegNormal, llvm::fcNegSubnormal, llvm::Free, llvm::FixedVectorType::get(), llvm::FunctionType::get(), llvm::PointerType::get(), llvm::StructType::get(), llvm::VectorType::get(), llvm::Type::getDoubleTy(), llvm::Type::getFloatTy(), llvm::Type::getInt1Ty(), getSizeTType(), llvm::Type::getVoidTy(), llvm::Attribute::getWithNoFPClass(), hasVectorMaskArgument(), llvm::Mod, llvm::NoModRef, llvm::CaptureInfo::none(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::Uninitialized.
Referenced by llvm::DeclareRuntimeLibcallsPass::run().
◆ getLibcallFromImpl()
| RTLIB::Libcall llvm::RTLIB::RuntimeLibcallsInfo::getLibcallFromImpl ( RTLIB::LibcallImpl Impl) | inlinestatic |
|---|
◆ getLibcallImplCallingConv()
| CallingConv::ID llvm::RTLIB::RuntimeLibcallsInfo::getLibcallImplCallingConv ( RTLIB::LibcallImpl Call) const | inline |
|---|
◆ getLibcallImplName()
| StringRef llvm::RTLIB::RuntimeLibcallsInfo::getLibcallImplName ( RTLIB::LibcallImpl CallImpl) | inlinestatic |
|---|
◆ getNumAvailableLibcallImpls()
| unsigned llvm::RTLIB::RuntimeLibcallsInfo::getNumAvailableLibcallImpls ( ) const | inline |
|---|
◆ getSupportedLibcallImpl()
| LLVM_ABI RTLIB::LibcallImpl llvm::RTLIB::RuntimeLibcallsInfo::getSupportedLibcallImpl ( StringRef FuncName) const | inline |
|---|
◆ hasVectorMaskArgument()
| bool RuntimeLibcallsInfo::hasVectorMaskArgument ( RTLIB::LibcallImpl Impl) | static |
|---|
◆ invalidate()
◆ isAvailable()
| bool llvm::RTLIB::RuntimeLibcallsInfo::isAvailable ( RTLIB::LibcallImpl Impl) const | inline |
|---|
◆ lookupLibcallImplName()
Check if a function name is a recognized runtime call of any kind.
This does not consider if this call is available for any current compilation, just that it is a known call somewhere. This returns the set of all LibcallImpls which match the name; multiple implementations with the same name may exist but differ in interpretation based on the target context.
Generated by tablegen.
Definition at line 140 of file RuntimeLibcalls.h.
Referenced by getSupportedLibcallImpl(), and isMips16HardFloatLibcall().
◆ setAvailable()
| void llvm::RTLIB::RuntimeLibcallsInfo::setAvailable ( RTLIB::LibcallImpl Impl) | inline |
|---|
◆ setLibcallImplCallingConv()
| void llvm::RTLIB::RuntimeLibcallsInfo::setLibcallImplCallingConv ( RTLIB::LibcallImpl Call, CallingConv::ID CC ) | inline |
|---|
◆ llvm::LibcallLoweringInfo
The documentation for this struct was generated from the following files:
- include/llvm/IR/RuntimeLibcalls.h
- lib/Analysis/RuntimeLibcallInfo.cpp
- lib/IR/RuntimeLibcalls.cpp