LLVM 20.0.0git
|
Classes | |
struct | RuntimeLibcallsInfo |
A simple container for information about the supported runtime calls. More... | |
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. | |
Libcall | getFPEXT (EVT OpVT, EVT RetVT) |
getFPEXT - Return the FPEXT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getFPROUND (EVT OpVT, EVT RetVT) |
getFPROUND - Return the FPROUND_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getFPTOSINT (EVT OpVT, EVT RetVT) |
getFPTOSINT - Return the FPTOSINT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getFPTOUINT (EVT OpVT, EVT RetVT) |
getFPTOUINT - Return the FPTOUINT_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getSINTTOFP (EVT OpVT, EVT RetVT) |
getSINTTOFP - Return the SINTTOFP_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getUINTTOFP (EVT OpVT, EVT RetVT) |
getUINTTOFP - Return the UINTTOFP_*_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getPOWI (EVT RetVT) |
getPOWI - Return the POWI_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getLDEXP (EVT RetVT) |
getLDEXP - Return the LDEXP_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
Libcall | getFREXP (EVT RetVT) |
getFREXP - Return the FREXP_* value for the given types, or UNKNOWN_LIBCALL if there is none. | |
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. | |
Libcall | getOutlineAtomicHelper (const Libcall(&LC)[5][4], AtomicOrdering Order, uint64_t MemSize) |
Return the outline atomics value for the given atomic ordering, access size and set of libcalls for a given atomic, or UNKNOWN_LIBCALL if there is none. | |
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. | |
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. | |
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. | |
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. | |
void | initCmpLibcallCCs (ISD::CondCode *CmpLibcallCCs) |
Initialize the default condition code on the libcalls. | |
enum llvm::RTLIB::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 33 of file RuntimeLibcalls.h.
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 120 of file TargetLoweringBase.cpp.
Referenced by getConvRTLibDesc().
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 103 of file TargetLoweringBase.cpp.
Referenced by getFREXP(), getLDEXP(), and getPOWI().
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 155 of file TargetLoweringBase.cpp.
Referenced by getConvRTLibDesc(), and llvm::RISCVTargetLowering::LowerOperation().
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 198 of file TargetLoweringBase.cpp.
Referenced by findFPToIntLibcall(), getConvRTLibDesc(), llvm::LoongArchTargetLowering::ReplaceNodeResults(), and llvm::RISCVTargetLowering::ReplaceNodeResults().
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 247 of file TargetLoweringBase.cpp.
Referenced by findFPToIntLibcall(), getConvRTLibDesc(), and llvm::RISCVTargetLowering::ReplaceNodeResults().
RTLIB::Libcall llvm::RTLIB::getFREXP | ( | EVT | RetVT | ) |
getFREXP - Return the FREXP_* value for the given types, or UNKNOWN_LIBCALL if there is none.
Definition at line 396 of file TargetLoweringBase.cpp.
References getFPLibCall().
RTLIB::Libcall llvm::RTLIB::getLDEXP | ( | EVT | RetVT | ) |
getLDEXP - Return the LDEXP_* value for the given types, or UNKNOWN_LIBCALL if there is none.
Definition at line 391 of file TargetLoweringBase.cpp.
References getFPLibCall().
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 526 of file TargetLoweringBase.cpp.
Referenced by llvm::SelectionDAG::getAtomicMemcpy().
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 543 of file TargetLoweringBase.cpp.
Referenced by llvm::SelectionDAG::getAtomicMemmove().
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 560 of file TargetLoweringBase.cpp.
Referenced by llvm::SelectionDAG::getAtomicMemset().
RTLIB::Libcall llvm::RTLIB::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.
Definition at line 446 of file TargetLoweringBase.cpp.
References llvm::ISD::ATOMIC_CMP_SWAP, llvm::ISD::ATOMIC_LOAD_ADD, llvm::ISD::ATOMIC_LOAD_CLR, llvm::ISD::ATOMIC_LOAD_OR, llvm::ISD::ATOMIC_LOAD_XOR, llvm::ISD::ATOMIC_SWAP, getOutlineAtomicHelper(), llvm::MVT::getScalarSizeInBits(), llvm::MVT::isScalarInteger(), and LCALL5.
RTLIB::Libcall llvm::RTLIB::getOutlineAtomicHelper | ( | const Libcall(&) | LC[5][4], |
AtomicOrdering | Order, | ||
uint64_t | MemSize | ||
) |
Return the outline atomics value for the given atomic ordering, access size and set of libcalls for a given atomic, or UNKNOWN_LIBCALL if there is none.
Definition at line 401 of file TargetLoweringBase.cpp.
Referenced by getOUTLINE_ATOMIC().
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 386 of file TargetLoweringBase.cpp.
References getFPLibCall().
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 296 of file TargetLoweringBase.cpp.
Referenced by getConvRTLibDesc().
RTLIB::Libcall llvm::RTLIB::getSYNC | ( | unsigned | Opc, |
MVT | VT | ||
) |
Return the SYNC_FETCH_AND_* value for the given opcode and type, or UNKNOWN_LIBCALL if there is none.
Definition at line 488 of file TargetLoweringBase.cpp.
References llvm::ISD::ATOMIC_CMP_SWAP, llvm::ISD::ATOMIC_LOAD_ADD, llvm::ISD::ATOMIC_LOAD_AND, llvm::ISD::ATOMIC_LOAD_MAX, llvm::ISD::ATOMIC_LOAD_MIN, llvm::ISD::ATOMIC_LOAD_NAND, llvm::ISD::ATOMIC_LOAD_OR, llvm::ISD::ATOMIC_LOAD_SUB, llvm::ISD::ATOMIC_LOAD_UMAX, llvm::ISD::ATOMIC_LOAD_UMIN, llvm::ISD::ATOMIC_LOAD_XOR, llvm::ISD::ATOMIC_SWAP, and OP_TO_LIBCALL.
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 342 of file TargetLoweringBase.cpp.
Referenced by getConvRTLibDesc().
void llvm::RTLIB::initCmpLibcallCCs | ( | ISD::CondCode * | CmpLibcallCCs | ) |
Initialize the default condition code on the libcalls.
Definition at line 577 of file TargetLoweringBase.cpp.
References llvm::ISD::SETCC_INVALID, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, and llvm::ISD::SETNE.
Referenced by llvm::TargetLoweringBase::TargetLoweringBase().