LLVM API Documentation

Defines | Functions
TargetLoweringBase.cpp File Reference
#include "llvm/Target/TargetLowering.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/Triple.h"
#include "llvm/CodeGen/Analysis.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineJumpTableInfo.h"
#include "llvm/CodeGen/StackMaps.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Mangler.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Target/TargetLoweringObjectFile.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
#include <cctype>
#include "llvm/IR/Instruction.def"
Include dependency graph for TargetLoweringBase.cpp:

Go to the source code of this file.

Defines

#define HANDLE_INST(NUM, OPCODE, CLASS)   OPCODE = NUM,
#define LAST_OTHER_INST(NUM)   InstructionOpcodesCount = NUM

Functions

static void InitLibcallNames (const char **Names, const Triple &TT)
static void InitLibcallCallingConvs (CallingConv::ID *CCs)
static void InitCmpLibcallCCs (ISD::CondCode *CCs)
static unsigned getVectorTypeBreakdownMVT (MVT VT, MVT &IntermediateVT, unsigned &NumIntermediates, MVT &RegisterVT, TargetLoweringBase *TLI)

Define Documentation

#define HANDLE_INST (   NUM,
  OPCODE,
  CLASS 
)    OPCODE = NUM,
#define LAST_OTHER_INST (   NUM)    InstructionOpcodesCount = NUM

Function Documentation

static unsigned getVectorTypeBreakdownMVT ( MVT  VT,
MVT IntermediateVT,
unsigned NumIntermediates,
MVT RegisterVT,
TargetLoweringBase TLI 
) [static]
static void InitCmpLibcallCCs ( ISD::CondCode CCs) [static]
static void InitLibcallCallingConvs ( CallingConv::ID CCs) [static]

InitLibcallCallingConvs - Set default libcall CallingConvs.

Definition at line 417 of file TargetLoweringBase.cpp.

References llvm::CallingConv::C, and llvm::RTLIB::UNKNOWN_LIBCALL.

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

static void InitLibcallNames ( const char **  Names,
const Triple TT 
) [static]

InitLibcallNames - Set default libcall names.

Definition at line 43 of file TargetLoweringBase.cpp.

References llvm::RTLIB::ADD_F128, llvm::RTLIB::ADD_F32, llvm::RTLIB::ADD_F64, llvm::RTLIB::ADD_F80, llvm::RTLIB::ADD_PPCF128, llvm::RTLIB::CEIL_F128, llvm::RTLIB::CEIL_F32, llvm::RTLIB::CEIL_F64, llvm::RTLIB::CEIL_F80, llvm::RTLIB::CEIL_PPCF128, llvm::RTLIB::COPYSIGN_F128, llvm::RTLIB::COPYSIGN_F32, llvm::RTLIB::COPYSIGN_F64, llvm::RTLIB::COPYSIGN_F80, llvm::RTLIB::COPYSIGN_PPCF128, llvm::RTLIB::COS_F128, llvm::RTLIB::COS_F32, llvm::RTLIB::COS_F64, llvm::RTLIB::COS_F80, llvm::RTLIB::COS_PPCF128, llvm::RTLIB::DIV_F128, llvm::RTLIB::DIV_F32, llvm::RTLIB::DIV_F64, llvm::RTLIB::DIV_F80, llvm::RTLIB::DIV_PPCF128, llvm::RTLIB::EXP2_F128, llvm::RTLIB::EXP2_F32, llvm::RTLIB::EXP2_F64, llvm::RTLIB::EXP2_F80, llvm::RTLIB::EXP2_PPCF128, llvm::RTLIB::EXP_F128, llvm::RTLIB::EXP_F32, llvm::RTLIB::EXP_F64, llvm::RTLIB::EXP_F80, llvm::RTLIB::EXP_PPCF128, llvm::RTLIB::FLOOR_F128, llvm::RTLIB::FLOOR_F32, llvm::RTLIB::FLOOR_F64, llvm::RTLIB::FLOOR_F80, llvm::RTLIB::FLOOR_PPCF128, llvm::RTLIB::FMA_F128, llvm::RTLIB::FMA_F32, llvm::RTLIB::FMA_F64, llvm::RTLIB::FMA_F80, llvm::RTLIB::FMA_PPCF128, llvm::RTLIB::FPEXT_F16_F32, llvm::RTLIB::FPEXT_F32_F128, llvm::RTLIB::FPEXT_F32_F64, llvm::RTLIB::FPEXT_F64_F128, llvm::RTLIB::FPROUND_F128_F16, llvm::RTLIB::FPROUND_F128_F32, llvm::RTLIB::FPROUND_F128_F64, llvm::RTLIB::FPROUND_F32_F16, llvm::RTLIB::FPROUND_F64_F16, llvm::RTLIB::FPROUND_F64_F32, llvm::RTLIB::FPROUND_F80_F16, llvm::RTLIB::FPROUND_F80_F32, llvm::RTLIB::FPROUND_F80_F64, llvm::RTLIB::FPROUND_PPCF128_F16, llvm::RTLIB::FPROUND_PPCF128_F32, llvm::RTLIB::FPROUND_PPCF128_F64, llvm::RTLIB::FPTOSINT_F128_I128, llvm::RTLIB::FPTOSINT_F128_I32, llvm::RTLIB::FPTOSINT_F128_I64, llvm::RTLIB::FPTOSINT_F32_I128, llvm::RTLIB::FPTOSINT_F32_I16, llvm::RTLIB::FPTOSINT_F32_I32, llvm::RTLIB::FPTOSINT_F32_I64, llvm::RTLIB::FPTOSINT_F32_I8, llvm::RTLIB::FPTOSINT_F64_I128, llvm::RTLIB::FPTOSINT_F64_I16, llvm::RTLIB::FPTOSINT_F64_I32, llvm::RTLIB::FPTOSINT_F64_I64, llvm::RTLIB::FPTOSINT_F64_I8, llvm::RTLIB::FPTOSINT_F80_I128, llvm::RTLIB::FPTOSINT_F80_I32, llvm::RTLIB::FPTOSINT_F80_I64, llvm::RTLIB::FPTOSINT_PPCF128_I128, llvm::RTLIB::FPTOSINT_PPCF128_I32, llvm::RTLIB::FPTOSINT_PPCF128_I64, llvm::RTLIB::FPTOUINT_F128_I128, llvm::RTLIB::FPTOUINT_F128_I32, llvm::RTLIB::FPTOUINT_F128_I64, llvm::RTLIB::FPTOUINT_F32_I128, llvm::RTLIB::FPTOUINT_F32_I16, llvm::RTLIB::FPTOUINT_F32_I32, llvm::RTLIB::FPTOUINT_F32_I64, llvm::RTLIB::FPTOUINT_F32_I8, llvm::RTLIB::FPTOUINT_F64_I128, llvm::RTLIB::FPTOUINT_F64_I16, llvm::RTLIB::FPTOUINT_F64_I32, llvm::RTLIB::FPTOUINT_F64_I64, llvm::RTLIB::FPTOUINT_F64_I8, llvm::RTLIB::FPTOUINT_F80_I128, llvm::RTLIB::FPTOUINT_F80_I32, llvm::RTLIB::FPTOUINT_F80_I64, llvm::RTLIB::FPTOUINT_PPCF128_I128, llvm::RTLIB::FPTOUINT_PPCF128_I32, llvm::RTLIB::FPTOUINT_PPCF128_I64, llvm::Triple::getEnvironment(), llvm::Triple::getOS(), llvm::Triple::GNU, llvm::RTLIB::LOG10_F128, llvm::RTLIB::LOG10_F32, llvm::RTLIB::LOG10_F64, llvm::RTLIB::LOG10_F80, llvm::RTLIB::LOG10_PPCF128, llvm::RTLIB::LOG2_F128, llvm::RTLIB::LOG2_F32, llvm::RTLIB::LOG2_F64, llvm::RTLIB::LOG2_F80, llvm::RTLIB::LOG2_PPCF128, llvm::RTLIB::LOG_F128, llvm::RTLIB::LOG_F32, llvm::RTLIB::LOG_F64, llvm::RTLIB::LOG_F80, llvm::RTLIB::LOG_PPCF128, llvm::RTLIB::MEMCPY, llvm::RTLIB::MEMMOVE, llvm::RTLIB::MEMSET, llvm::RTLIB::MUL_F128, llvm::RTLIB::MUL_F32, llvm::RTLIB::MUL_F64, llvm::RTLIB::MUL_F80, llvm::RTLIB::MUL_I128, llvm::RTLIB::MUL_I16, llvm::RTLIB::MUL_I32, llvm::RTLIB::MUL_I64, llvm::RTLIB::MUL_I8, llvm::RTLIB::MUL_PPCF128, llvm::RTLIB::MULO_I128, llvm::RTLIB::MULO_I32, llvm::RTLIB::MULO_I64, llvm::RTLIB::NEARBYINT_F128, llvm::RTLIB::NEARBYINT_F32, llvm::RTLIB::NEARBYINT_F64, llvm::RTLIB::NEARBYINT_F80, llvm::RTLIB::NEARBYINT_PPCF128, llvm::RTLIB::NEG_I32, llvm::RTLIB::NEG_I64, llvm::RTLIB::O_F128, llvm::RTLIB::O_F32, llvm::RTLIB::O_F64, llvm::RTLIB::OEQ_F128, llvm::RTLIB::OEQ_F32, llvm::RTLIB::OEQ_F64, llvm::RTLIB::OGE_F128, llvm::RTLIB::OGE_F32, llvm::RTLIB::OGE_F64, llvm::RTLIB::OGT_F128, llvm::RTLIB::OGT_F32, llvm::RTLIB::OGT_F64, llvm::RTLIB::OLE_F128, llvm::RTLIB::OLE_F32, llvm::RTLIB::OLE_F64, llvm::RTLIB::OLT_F128, llvm::RTLIB::OLT_F32, llvm::RTLIB::OLT_F64, llvm::Triple::OpenBSD, llvm::RTLIB::POW_F128, llvm::RTLIB::POW_F32, llvm::RTLIB::POW_F64, llvm::RTLIB::POW_F80, llvm::RTLIB::POW_PPCF128, llvm::RTLIB::POWI_F128, llvm::RTLIB::POWI_F32, llvm::RTLIB::POWI_F64, llvm::RTLIB::POWI_F80, llvm::RTLIB::POWI_PPCF128, llvm::RTLIB::REM_F128, llvm::RTLIB::REM_F32, llvm::RTLIB::REM_F64, llvm::RTLIB::REM_F80, llvm::RTLIB::REM_PPCF128, llvm::RTLIB::RINT_F128, llvm::RTLIB::RINT_F32, llvm::RTLIB::RINT_F64, llvm::RTLIB::RINT_F80, llvm::RTLIB::RINT_PPCF128, llvm::RTLIB::ROUND_F128, llvm::RTLIB::ROUND_F32, llvm::RTLIB::ROUND_F64, llvm::RTLIB::ROUND_F80, llvm::RTLIB::ROUND_PPCF128, llvm::RTLIB::SDIV_I128, llvm::RTLIB::SDIV_I16, llvm::RTLIB::SDIV_I32, llvm::RTLIB::SDIV_I64, llvm::RTLIB::SDIV_I8, llvm::RTLIB::SDIVREM_I128, llvm::RTLIB::SDIVREM_I16, llvm::RTLIB::SDIVREM_I32, llvm::RTLIB::SDIVREM_I64, llvm::RTLIB::SDIVREM_I8, llvm::RTLIB::SHL_I128, llvm::RTLIB::SHL_I16, llvm::RTLIB::SHL_I32, llvm::RTLIB::SHL_I64, llvm::RTLIB::SIN_F128, llvm::RTLIB::SIN_F32, llvm::RTLIB::SIN_F64, llvm::RTLIB::SIN_F80, llvm::RTLIB::SIN_PPCF128, llvm::RTLIB::SINCOS_F128, llvm::RTLIB::SINCOS_F32, llvm::RTLIB::SINCOS_F64, llvm::RTLIB::SINCOS_F80, llvm::RTLIB::SINCOS_PPCF128, llvm::RTLIB::SINTTOFP_I128_F128, llvm::RTLIB::SINTTOFP_I128_F32, llvm::RTLIB::SINTTOFP_I128_F64, llvm::RTLIB::SINTTOFP_I128_F80, llvm::RTLIB::SINTTOFP_I128_PPCF128, llvm::RTLIB::SINTTOFP_I32_F128, llvm::RTLIB::SINTTOFP_I32_F32, llvm::RTLIB::SINTTOFP_I32_F64, llvm::RTLIB::SINTTOFP_I32_F80, llvm::RTLIB::SINTTOFP_I32_PPCF128, llvm::RTLIB::SINTTOFP_I64_F128, llvm::RTLIB::SINTTOFP_I64_F32, llvm::RTLIB::SINTTOFP_I64_F64, llvm::RTLIB::SINTTOFP_I64_F80, llvm::RTLIB::SINTTOFP_I64_PPCF128, llvm::RTLIB::SQRT_F128, llvm::RTLIB::SQRT_F32, llvm::RTLIB::SQRT_F64, llvm::RTLIB::SQRT_F80, llvm::RTLIB::SQRT_PPCF128, llvm::RTLIB::SRA_I128, llvm::RTLIB::SRA_I16, llvm::RTLIB::SRA_I32, llvm::RTLIB::SRA_I64, llvm::RTLIB::SREM_I128, llvm::RTLIB::SREM_I16, llvm::RTLIB::SREM_I32, llvm::RTLIB::SREM_I64, llvm::RTLIB::SREM_I8, llvm::RTLIB::SRL_I128, llvm::RTLIB::SRL_I16, llvm::RTLIB::SRL_I32, llvm::RTLIB::SRL_I64, llvm::RTLIB::STACKPROTECTOR_CHECK_FAIL, llvm::RTLIB::SUB_F128, llvm::RTLIB::SUB_F32, llvm::RTLIB::SUB_F64, llvm::RTLIB::SUB_F80, llvm::RTLIB::SUB_PPCF128, llvm::RTLIB::SYNC_FETCH_AND_ADD_1, llvm::RTLIB::SYNC_FETCH_AND_ADD_16, llvm::RTLIB::SYNC_FETCH_AND_ADD_2, llvm::RTLIB::SYNC_FETCH_AND_ADD_4, llvm::RTLIB::SYNC_FETCH_AND_ADD_8, llvm::RTLIB::SYNC_FETCH_AND_AND_1, llvm::RTLIB::SYNC_FETCH_AND_AND_16, llvm::RTLIB::SYNC_FETCH_AND_AND_2, llvm::RTLIB::SYNC_FETCH_AND_AND_4, llvm::RTLIB::SYNC_FETCH_AND_AND_8, llvm::RTLIB::SYNC_FETCH_AND_MAX_1, llvm::RTLIB::SYNC_FETCH_AND_MAX_16, llvm::RTLIB::SYNC_FETCH_AND_MAX_2, llvm::RTLIB::SYNC_FETCH_AND_MAX_4, llvm::RTLIB::SYNC_FETCH_AND_MAX_8, llvm::RTLIB::SYNC_FETCH_AND_MIN_1, llvm::RTLIB::SYNC_FETCH_AND_MIN_16, llvm::RTLIB::SYNC_FETCH_AND_MIN_2, llvm::RTLIB::SYNC_FETCH_AND_MIN_4, llvm::RTLIB::SYNC_FETCH_AND_MIN_8, llvm::RTLIB::SYNC_FETCH_AND_NAND_1, llvm::RTLIB::SYNC_FETCH_AND_NAND_16, llvm::RTLIB::SYNC_FETCH_AND_NAND_2, llvm::RTLIB::SYNC_FETCH_AND_NAND_4, llvm::RTLIB::SYNC_FETCH_AND_NAND_8, llvm::RTLIB::SYNC_FETCH_AND_OR_1, llvm::RTLIB::SYNC_FETCH_AND_OR_16, llvm::RTLIB::SYNC_FETCH_AND_OR_2, llvm::RTLIB::SYNC_FETCH_AND_OR_4, llvm::RTLIB::SYNC_FETCH_AND_OR_8, llvm::RTLIB::SYNC_FETCH_AND_SUB_1, llvm::RTLIB::SYNC_FETCH_AND_SUB_16, llvm::RTLIB::SYNC_FETCH_AND_SUB_2, llvm::RTLIB::SYNC_FETCH_AND_SUB_4, llvm::RTLIB::SYNC_FETCH_AND_SUB_8, llvm::RTLIB::SYNC_FETCH_AND_UMAX_1, llvm::RTLIB::SYNC_FETCH_AND_UMAX_16, llvm::RTLIB::SYNC_FETCH_AND_UMAX_2, llvm::RTLIB::SYNC_FETCH_AND_UMAX_4, llvm::RTLIB::SYNC_FETCH_AND_UMAX_8, llvm::RTLIB::SYNC_FETCH_AND_UMIN_1, llvm::RTLIB::SYNC_FETCH_AND_UMIN_16, llvm::RTLIB::SYNC_FETCH_AND_UMIN_2, llvm::RTLIB::SYNC_FETCH_AND_UMIN_4, llvm::RTLIB::SYNC_FETCH_AND_UMIN_8, llvm::RTLIB::SYNC_FETCH_AND_XOR_1, llvm::RTLIB::SYNC_FETCH_AND_XOR_16, llvm::RTLIB::SYNC_FETCH_AND_XOR_2, llvm::RTLIB::SYNC_FETCH_AND_XOR_4, llvm::RTLIB::SYNC_FETCH_AND_XOR_8, llvm::RTLIB::SYNC_LOCK_TEST_AND_SET_1, llvm::RTLIB::SYNC_LOCK_TEST_AND_SET_16, llvm::RTLIB::SYNC_LOCK_TEST_AND_SET_2, llvm::RTLIB::SYNC_LOCK_TEST_AND_SET_4, llvm::RTLIB::SYNC_LOCK_TEST_AND_SET_8, llvm::RTLIB::SYNC_VAL_COMPARE_AND_SWAP_1, llvm::RTLIB::SYNC_VAL_COMPARE_AND_SWAP_16, llvm::RTLIB::SYNC_VAL_COMPARE_AND_SWAP_2, llvm::RTLIB::SYNC_VAL_COMPARE_AND_SWAP_4, llvm::RTLIB::SYNC_VAL_COMPARE_AND_SWAP_8, llvm::RTLIB::TRUNC_F128, llvm::RTLIB::TRUNC_F32, llvm::RTLIB::TRUNC_F64, llvm::RTLIB::TRUNC_F80, llvm::RTLIB::TRUNC_PPCF128, llvm::RTLIB::UDIV_I128, llvm::RTLIB::UDIV_I16, llvm::RTLIB::UDIV_I32, llvm::RTLIB::UDIV_I64, llvm::RTLIB::UDIV_I8, llvm::RTLIB::UDIVREM_I128, llvm::RTLIB::UDIVREM_I16, llvm::RTLIB::UDIVREM_I32, llvm::RTLIB::UDIVREM_I64, llvm::RTLIB::UDIVREM_I8, llvm::RTLIB::UINTTOFP_I128_F128, llvm::RTLIB::UINTTOFP_I128_F32, llvm::RTLIB::UINTTOFP_I128_F64, llvm::RTLIB::UINTTOFP_I128_F80, llvm::RTLIB::UINTTOFP_I128_PPCF128, llvm::RTLIB::UINTTOFP_I32_F128, llvm::RTLIB::UINTTOFP_I32_F32, llvm::RTLIB::UINTTOFP_I32_F64, llvm::RTLIB::UINTTOFP_I32_F80, llvm::RTLIB::UINTTOFP_I32_PPCF128, llvm::RTLIB::UINTTOFP_I64_F128, llvm::RTLIB::UINTTOFP_I64_F32, llvm::RTLIB::UINTTOFP_I64_F64, llvm::RTLIB::UINTTOFP_I64_F80, llvm::RTLIB::UINTTOFP_I64_PPCF128, llvm::RTLIB::UNE_F128, llvm::RTLIB::UNE_F32, llvm::RTLIB::UNE_F64, llvm::RTLIB::UNWIND_RESUME, llvm::RTLIB::UO_F128, llvm::RTLIB::UO_F32, llvm::RTLIB::UO_F64, llvm::RTLIB::UREM_I128, llvm::RTLIB::UREM_I16, llvm::RTLIB::UREM_I32, llvm::RTLIB::UREM_I64, and llvm::RTLIB::UREM_I8.

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