LLVM 22.0.0git
|
A simple container for information about the supported runtime calls. More...
#include "llvm/IR/RuntimeLibcalls.h"
Public Member Functions | |
RuntimeLibcallsInfo (const Triple &TT, ExceptionHandling ExceptionModel=ExceptionHandling::None, FloatABI::ABIType FloatABI=FloatABI::Default, EABI EABIVersion=EABI::Default, StringRef ABIName="") | |
void | setLibcallImpl (RTLIB::Libcall Call, RTLIB::LibcallImpl Impl) |
Rename the default libcall routine name for the specified libcall. | |
StringRef | getLibcallName (RTLIB::Libcall Call) const |
Get the libcall routine name for the specified libcall. | |
RTLIB::LibcallImpl | getLibcallImpl (RTLIB::Libcall Call) const |
Return the lowering's selection of implementation call for Call . | |
void | setLibcallImplCallingConv (RTLIB::LibcallImpl Call, CallingConv::ID CC) |
Set the CallingConv that should be used for the specified libcall implementation. | |
CallingConv::ID | getLibcallCallingConv (RTLIB::Libcall Call) const |
CallingConv::ID | getLibcallImplCallingConv (RTLIB::LibcallImpl Call) const |
Get the CallingConv that should be used for the specified libcall. | |
ArrayRef< RTLIB::LibcallImpl > | getLibcallImpls () const |
StringRef | getMemcpyName () const |
Return a function name compatible with RTLIB::MEMCPY, or nullptr if fully unsupported. | |
LLVM_ABI RTLIB::LibcallImpl | getSupportedLibcallImpl (StringRef FuncName) const |
Check if this is valid libcall for the current module, otherwise RTLIB::Unsupported. | |
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. | |
A simple container for information about the supported runtime calls.
Definition at line 58 of file RuntimeLibcalls.h.
|
inlineexplicit |
Definition at line 59 of file RuntimeLibcalls.h.
References llvm::None.
|
inline |
Definition at line 107 of file RuntimeLibcalls.h.
|
inlinestatic |
Return the libcall provided by Impl
.
Definition at line 133 of file RuntimeLibcalls.h.
Referenced by llvm::TargetLoweringBase::getSoftFloatCmpLibcallPredicate().
|
inline |
Return the lowering's selection of implementation call for Call
.
Definition at line 95 of file RuntimeLibcalls.h.
Referenced by getMemcpyName().
|
inline |
Get the CallingConv that should be used for the specified libcall.
Definition at line 112 of file RuntimeLibcalls.h.
|
inlinestatic |
Get the libcall routine name for the specified libcall implementation.
Definition at line 86 of file RuntimeLibcalls.h.
References llvm::StringTable::getCString().
Referenced by getLibcallName(), getMemcpyName(), llvm::lto::LTO::getRuntimeLibcallSymbols(), lowerObjCCall(), and llvm::DeclareRuntimeLibcallsPass::run().
|
inline |
Definition at line 116 of file RuntimeLibcalls.h.
References llvm::ArrayRef< T >::drop_back().
Referenced by llvm::lto::LTO::getRuntimeLibcallSymbols(), and llvm::DeclareRuntimeLibcallsPass::run().
|
inline |
Get the libcall routine name for the specified libcall.
Definition at line 81 of file RuntimeLibcalls.h.
References getLibcallImplName().
Referenced by getMemcpyName().
|
inline |
Return a function name compatible with RTLIB::MEMCPY, or nullptr if fully unsupported.
Definition at line 123 of file RuntimeLibcalls.h.
References getLibcallImpl(), getLibcallImplName(), and getLibcallName().
|
inline |
Check if this is valid libcall for the current module, otherwise RTLIB::Unsupported.
Definition at line 156 of file RuntimeLibcalls.h.
References lookupLibcallImplName().
|
inlinestatic |
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 145 of file RuntimeLibcalls.h.
Referenced by getSupportedLibcallImpl().
|
inline |
Rename the default libcall routine name for the specified libcall.
Definition at line 75 of file RuntimeLibcalls.h.
|
inline |
Set the CallingConv that should be used for the specified libcall implementation.
Definition at line 101 of file RuntimeLibcalls.h.