LLVM 22.0.0git
llvm::RTLIB::RuntimeLibcallsInfo Struct Reference

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.
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.

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.

Detailed Description

A simple container for information about the supported runtime calls.

Definition at line 68 of file RuntimeLibcalls.h.

Constructor & Destructor Documentation

◆ RuntimeLibcallsInfo()

llvm::RTLIB::RuntimeLibcallsInfo::RuntimeLibcallsInfo ( const Triple & TT,
ExceptionHandling ExceptionModel = ExceptionHandling::None,
FloatABI::ABIType FloatABI = FloatABI::Default,
EABI EABIVersion = EABI::Default,
StringRef ABIName = "" )
inlineexplicit

Definition at line 74 of file RuntimeLibcalls.h.

References llvm::Default, llvm::FloatABI::Default, and llvm::None.

Member Function Documentation

◆ getLibcallCallingConv()

CallingConv::ID llvm::RTLIB::RuntimeLibcallsInfo::getLibcallCallingConv ( RTLIB::Libcall Call) const
inline

Definition at line 122 of file RuntimeLibcalls.h.

References Call.

◆ getLibcallFromImpl()

RTLIB::Libcall llvm::RTLIB::RuntimeLibcallsInfo::getLibcallFromImpl ( RTLIB::LibcallImpl Impl)
inlinestatic

Return the libcall provided by Impl.

Definition at line 156 of file RuntimeLibcalls.h.

Referenced by llvm::TargetLoweringBase::getSoftFloatCmpLibcallPredicate().

◆ getLibcallImpl()

RTLIB::LibcallImpl llvm::RTLIB::RuntimeLibcallsInfo::getLibcallImpl ( RTLIB::Libcall Call) const
inline

Return the lowering's selection of implementation call for Call.

Definition at line 110 of file RuntimeLibcalls.h.

References Call.

Referenced by getMemcpyName().

◆ getLibcallImplCallingConv()

CallingConv::ID llvm::RTLIB::RuntimeLibcallsInfo::getLibcallImplCallingConv ( RTLIB::LibcallImpl Call) const
inline

Get the CallingConv that should be used for the specified libcall.

Definition at line 127 of file RuntimeLibcalls.h.

References Call.

◆ getLibcallImplName()

StringRef llvm::RTLIB::RuntimeLibcallsInfo::getLibcallImplName ( RTLIB::LibcallImpl CallImpl)
inlinestatic

Get the libcall routine name for the specified libcall implementation.

Definition at line 101 of file RuntimeLibcalls.h.

Referenced by llvm::TargetLoweringBase::getLibcallImplName(), getLibcallName(), getMemcpyName(), llvm::lto::LTO::getRuntimeLibcallSymbols(), lowerObjCCall(), and llvm::DeclareRuntimeLibcallsPass::run().

◆ getLibcallImpls()

ArrayRef< RTLIB::LibcallImpl > llvm::RTLIB::RuntimeLibcallsInfo::getLibcallImpls ( ) const
inline

◆ getLibcallName()

StringRef llvm::RTLIB::RuntimeLibcallsInfo::getLibcallName ( RTLIB::Libcall Call) const
inline

Get the libcall routine name for the specified libcall.

Definition at line 96 of file RuntimeLibcalls.h.

References Call, and getLibcallImplName().

Referenced by getMemcpyName().

◆ getMemcpyName()

StringRef llvm::RTLIB::RuntimeLibcallsInfo::getMemcpyName ( ) const
inline

Return a function name compatible with RTLIB::MEMCPY, or nullptr if fully unsupported.

Definition at line 138 of file RuntimeLibcalls.h.

References getLibcallImpl(), getLibcallImplName(), and getLibcallName().

◆ getSupportedLibcallImpl()

LLVM_ABI RTLIB::LibcallImpl llvm::RTLIB::RuntimeLibcallsInfo::getSupportedLibcallImpl ( StringRef FuncName) const
inline

Check if this is valid libcall for the current module, otherwise RTLIB::Unsupported.

Definition at line 179 of file RuntimeLibcalls.h.

References lookupLibcallImplName().

◆ isAvailable()

bool llvm::RTLIB::RuntimeLibcallsInfo::isAvailable ( RTLIB::LibcallImpl Impl) const
inline

Definition at line 147 of file RuntimeLibcalls.h.

◆ lookupLibcallImplName()

LLVM_ABI iota_range< RTLIB::LibcallImpl > llvm::RTLIB::RuntimeLibcallsInfo::lookupLibcallImplName ( StringRef Name)
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 168 of file RuntimeLibcalls.h.

Referenced by getSupportedLibcallImpl().

◆ setAvailable()

void llvm::RTLIB::RuntimeLibcallsInfo::setAvailable ( RTLIB::LibcallImpl Impl)
inline

Definition at line 151 of file RuntimeLibcalls.h.

◆ setLibcallImpl()

void llvm::RTLIB::RuntimeLibcallsInfo::setLibcallImpl ( RTLIB::Libcall Call,
RTLIB::LibcallImpl Impl )
inline

Rename the default libcall routine name for the specified libcall.

Definition at line 90 of file RuntimeLibcalls.h.

References Call.

◆ setLibcallImplCallingConv()

void llvm::RTLIB::RuntimeLibcallsInfo::setLibcallImplCallingConv ( RTLIB::LibcallImpl Call,
CallingConv::ID CC )
inline

Set the CallingConv that should be used for the specified libcall implementation.

Definition at line 116 of file RuntimeLibcalls.h.

References Call.


The documentation for this struct was generated from the following files: