LLVM  14.0.0git
Enumerations | Functions
llvm::RTLIB Namespace Reference

Enumerations

enum  Libcall
 RTLIB::Libcall enum - This enum defines all of the runtime library calls the backend can emit. More...
 

Functions

Libcall getFPLibCall (EVT VT, Libcall Call_F32, Libcall Call_F64, Libcall Call_F80, Libcall Call_F128, Libcall Call_PPCF128)
 GetFPLibCall - Helper to return the right libcall for the given floating point type, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getFPEXT (EVT OpVT, EVT RetVT)
 getFPEXT - Return the FPEXT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getFPROUND (EVT OpVT, EVT RetVT)
 getFPROUND - Return the FPROUND_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getFPTOSINT (EVT OpVT, EVT RetVT)
 getFPTOSINT - Return the FPTOSINT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getFPTOUINT (EVT OpVT, EVT RetVT)
 getFPTOUINT - Return the FPTOUINT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getSINTTOFP (EVT OpVT, EVT RetVT)
 getSINTTOFP - Return the SINTTOFP_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getUINTTOFP (EVT OpVT, EVT RetVT)
 getUINTTOFP - Return the UINTTOFP_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getPOWI (EVT RetVT)
 getPOWI - Return the POWI_* value for the given types, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getSYNC (unsigned Opc, MVT VT)
 Return the SYNC_FETCH_AND_* value for the given opcode and type, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getOUTLINE_ATOMIC (unsigned Opc, AtomicOrdering Order, MVT VT)
 Return the outline atomics value for the given opcode, atomic ordering and type, or UNKNOWN_LIBCALL if there is none. More...
 
Libcall getMEMCPY_ELEMENT_UNORDERED_ATOMIC (uint64_t ElementSize)
 getMEMCPY_ELEMENT_UNORDERED_ATOMIC - Return MEMCPY_ELEMENT_UNORDERED_ATOMIC_* value for the given element size or UNKNOW_LIBCALL if there is none. More...
 
Libcall getMEMMOVE_ELEMENT_UNORDERED_ATOMIC (uint64_t ElementSize)
 getMEMMOVE_ELEMENT_UNORDERED_ATOMIC - Return MEMMOVE_ELEMENT_UNORDERED_ATOMIC_* value for the given element size or UNKNOW_LIBCALL if there is none. More...
 
Libcall getMEMSET_ELEMENT_UNORDERED_ATOMIC (uint64_t ElementSize)
 getMEMSET_ELEMENT_UNORDERED_ATOMIC - Return MEMSET_ELEMENT_UNORDERED_ATOMIC_* value for the given element size or UNKNOW_LIBCALL if there is none. More...
 

Enumeration Type Documentation

◆ Libcall

RTLIB::Libcall enum - This enum defines all of the runtime library calls the backend can emit.

The various long double types cannot be merged, because 80-bit library functions use "xf" and 128-bit use "tf".

When adding PPCF128 functions here, note that their names generally need to be overridden for Darwin with the xxx$LDBL128 form. See PPCISelLowering.cpp.

Definition at line 30 of file RuntimeLibcalls.h.

Function Documentation

◆ getFPEXT()

RTLIB::Libcall llvm::RTLIB::getFPEXT ( EVT  OpVT,
EVT  RetVT 
)

getFPEXT - Return the FPEXT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none.

Definition at line 233 of file TargetLoweringBase.cpp.

References llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, and llvm::MVT::ppcf128.

Referenced by getConvRTLibDesc().

◆ getFPLibCall()

RTLIB::Libcall llvm::RTLIB::getFPLibCall ( EVT  VT,
RTLIB::Libcall  Call_F32,
RTLIB::Libcall  Call_F64,
RTLIB::Libcall  Call_F80,
RTLIB::Libcall  Call_F128,
RTLIB::Libcall  Call_PPCF128 
)

GetFPLibCall - Helper to return the right libcall for the given floating point type, or UNKNOWN_LIBCALL if there is none.

Definition at line 216 of file TargetLoweringBase.cpp.

References llvm::MVT::f128, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, and llvm::MVT::ppcf128.

Referenced by getPOWI().

◆ getFPROUND()

RTLIB::Libcall llvm::RTLIB::getFPROUND ( EVT  OpVT,
EVT  RetVT 
)

getFPROUND - Return the FPROUND_*_* value for the given types, or UNKNOWN_LIBCALL if there is none.

Definition at line 263 of file TargetLoweringBase.cpp.

References llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, and llvm::MVT::ppcf128.

Referenced by getConvRTLibDesc().

◆ getFPTOSINT()

RTLIB::Libcall llvm::RTLIB::getFPTOSINT ( EVT  OpVT,
EVT  RetVT 
)

getFPTOSINT - Return the FPTOSINT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none.

Definition at line 301 of file TargetLoweringBase.cpp.

References llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, llvm::MVT::i128, llvm::MVT::i32, llvm::MVT::i64, and llvm::MVT::ppcf128.

Referenced by findFPToIntLibcall(), getConvRTLibDesc(), and llvm::RISCVTargetLowering::ReplaceNodeResults().

◆ getFPTOUINT()

RTLIB::Libcall llvm::RTLIB::getFPTOUINT ( EVT  OpVT,
EVT  RetVT 
)

getFPTOUINT - Return the FPTOUINT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none.

Definition at line 350 of file TargetLoweringBase.cpp.

References llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, llvm::MVT::i128, llvm::MVT::i32, llvm::MVT::i64, and llvm::MVT::ppcf128.

Referenced by findFPToIntLibcall(), getConvRTLibDesc(), and llvm::RISCVTargetLowering::ReplaceNodeResults().

◆ getMEMCPY_ELEMENT_UNORDERED_ATOMIC()

RTLIB::Libcall llvm::RTLIB::getMEMCPY_ELEMENT_UNORDERED_ATOMIC ( uint64_t  ElementSize)

getMEMCPY_ELEMENT_UNORDERED_ATOMIC - Return MEMCPY_ELEMENT_UNORDERED_ATOMIC_* value for the given element size or UNKNOW_LIBCALL if there is none.

Definition at line 609 of file TargetLoweringBase.cpp.

◆ getMEMMOVE_ELEMENT_UNORDERED_ATOMIC()

RTLIB::Libcall llvm::RTLIB::getMEMMOVE_ELEMENT_UNORDERED_ATOMIC ( uint64_t  ElementSize)

getMEMMOVE_ELEMENT_UNORDERED_ATOMIC - Return MEMMOVE_ELEMENT_UNORDERED_ATOMIC_* value for the given element size or UNKNOW_LIBCALL if there is none.

Definition at line 626 of file TargetLoweringBase.cpp.

◆ getMEMSET_ELEMENT_UNORDERED_ATOMIC()

RTLIB::Libcall llvm::RTLIB::getMEMSET_ELEMENT_UNORDERED_ATOMIC ( uint64_t  ElementSize)

getMEMSET_ELEMENT_UNORDERED_ATOMIC - Return MEMSET_ELEMENT_UNORDERED_ATOMIC_* value for the given element size or UNKNOW_LIBCALL if there is none.

Definition at line 643 of file TargetLoweringBase.cpp.

◆ getOUTLINE_ATOMIC()

RTLIB::Libcall llvm::RTLIB::getOUTLINE_ATOMIC ( unsigned  Opc,
AtomicOrdering  Order,
MVT  VT 
)

◆ getPOWI()

RTLIB::Libcall llvm::RTLIB::getPOWI ( EVT  RetVT)

getPOWI - Return the POWI_* value for the given types, or UNKNOWN_LIBCALL if there is none.

Definition at line 489 of file TargetLoweringBase.cpp.

References getFPLibCall().

◆ getSINTTOFP()

RTLIB::Libcall llvm::RTLIB::getSINTTOFP ( EVT  OpVT,
EVT  RetVT 
)

getSINTTOFP - Return the SINTTOFP_*_* value for the given types, or UNKNOWN_LIBCALL if there is none.

Definition at line 399 of file TargetLoweringBase.cpp.

References llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, llvm::MVT::i128, llvm::MVT::i32, llvm::MVT::i64, and llvm::MVT::ppcf128.

Referenced by getConvRTLibDesc().

◆ getSYNC()

RTLIB::Libcall llvm::RTLIB::getSYNC ( unsigned  Opc,
MVT  VT 
)

◆ getUINTTOFP()

RTLIB::Libcall llvm::RTLIB::getUINTTOFP ( EVT  OpVT,
EVT  RetVT 
)

getUINTTOFP - Return the UINTTOFP_*_* value for the given types, or UNKNOWN_LIBCALL if there is none.

Definition at line 445 of file TargetLoweringBase.cpp.

References llvm::MVT::f128, llvm::MVT::f16, llvm::MVT::f32, llvm::MVT::f64, llvm::MVT::f80, llvm::MVT::i128, llvm::MVT::i32, llvm::MVT::i64, and llvm::MVT::ppcf128.

Referenced by getConvRTLibDesc().