LLVM API Documentation
#include "SparcISelLowering.h"
#include "MCTargetDesc/SparcMCExpr.h"
#include "SparcMachineFunctionInfo.h"
#include "SparcRegisterInfo.h"
#include "SparcTargetMachine.h"
#include "SparcTargetObjectFile.h"
#include "llvm/CodeGen/CallingConvLower.h"
#include "llvm/CodeGen/MachineFrameInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/SelectionDAG.h"
#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/Module.h"
#include "llvm/Support/ErrorHandling.h"
#include "SparcGenCallingConv.inc"
Go to the source code of this file.
static bool CC_Sparc64_Full | ( | unsigned & | ValNo, |
MVT & | ValVT, | ||
MVT & | LocVT, | ||
CCValAssign::LocInfo & | LocInfo, | ||
ISD::ArgFlagsTy & | ArgFlags, | ||
CCState & | State | ||
) | [static] |
Definition at line 81 of file SparcISelLowering.cpp.
References llvm::CCState::addLoc(), llvm::CCState::AllocateStack(), llvm::MVT::f128, llvm::MVT::f32, llvm::MVT::f64, llvm::CCValAssign::getMem(), llvm::CCValAssign::getReg(), llvm::MVT::getSizeInBits(), and llvm::MVT::i64.
static bool CC_Sparc64_Half | ( | unsigned & | ValNo, |
MVT & | ValVT, | ||
MVT & | LocVT, | ||
CCValAssign::LocInfo & | LocInfo, | ||
ISD::ArgFlagsTy & | ArgFlags, | ||
CCState & | State | ||
) | [static] |
Definition at line 126 of file SparcISelLowering.cpp.
References llvm::CCState::addLoc(), llvm::CCValAssign::AExt, llvm::CCState::AllocateStack(), llvm::MVT::f32, llvm::CCValAssign::getCustomReg(), llvm::CCValAssign::getMem(), llvm::CCValAssign::getReg(), llvm::MVT::getSizeInBits(), llvm::MVT::i32, and llvm::MVT::i64.
static bool CC_Sparc_Assign_f64 | ( | unsigned & | ValNo, |
MVT & | ValVT, | ||
MVT & | LocVT, | ||
CCValAssign::LocInfo & | LocInfo, | ||
ISD::ArgFlagsTy & | ArgFlags, | ||
CCState & | State | ||
) | [static] |
Definition at line 52 of file SparcISelLowering.cpp.
References llvm::CCState::addLoc(), llvm::CCState::AllocateReg(), llvm::CCState::AllocateStack(), llvm::CCValAssign::getCustomMem(), and llvm::CCValAssign::getCustomReg().
static bool CC_Sparc_Assign_SRet | ( | unsigned & | ValNo, |
MVT & | ValVT, | ||
MVT & | LocVT, | ||
CCValAssign::LocInfo & | LocInfo, | ||
ISD::ArgFlagsTy & | ArgFlags, | ||
CCState & | State | ||
) | [static] |
Definition at line 39 of file SparcISelLowering.cpp.
References llvm::CCState::addLoc(), llvm::CCValAssign::getCustomMem(), and llvm::ISD::ArgFlagsTy::isSRet().
static void fixupVariableFloatArgs | ( | SmallVectorImpl< CCValAssign > & | ArgLocs, |
ArrayRef< ISD::OutputArg > | Outs | ||
) | [static] |
Definition at line 1006 of file SparcISelLowering.cpp.
References llvm::CCValAssign::BCvt, llvm::MVT::f128, llvm::MVT::f64, llvm::CCValAssign::getCustomReg(), llvm::CCValAssign::getLocInfo(), llvm::CCValAssign::getLocReg(), llvm::CCValAssign::getLocVT(), llvm::CCValAssign::getMem(), llvm::CCValAssign::getReg(), llvm::CCValAssign::getValNo(), llvm::CCValAssign::getValVT(), llvm::MVT::i128, llvm::MVT::i64, llvm::CCValAssign::isRegLoc(), and llvm::SmallVectorTemplateCommon< T, typename >::size().
Referenced by llvm::SparcTargetLowering::LowerCall_64().
static SPCC::CondCodes FPCondCCodeToFCC | ( | ISD::CondCode | CC | ) | [static] |
FPCondCCodeToFCC - Convert a DAG floatingp oint condition code to a SPARC FCC condition.
Definition at line 1342 of file SparcISelLowering.cpp.
References llvm::SPCC::FCC_E, llvm::SPCC::FCC_G, llvm::SPCC::FCC_GE, llvm::SPCC::FCC_L, llvm::SPCC::FCC_LE, llvm::SPCC::FCC_LG, llvm::SPCC::FCC_NE, llvm::SPCC::FCC_O, llvm::SPCC::FCC_U, llvm::SPCC::FCC_UE, llvm::SPCC::FCC_UG, llvm::SPCC::FCC_UGE, llvm::SPCC::FCC_UL, llvm::SPCC::FCC_ULE, llvm_unreachable, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, and llvm::ISD::SETUO.
Referenced by LowerBR_CC(), and LowerSELECT_CC().
static SDValue getFLUSHW | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 2425 of file SparcISelLowering.cpp.
References llvm::SPISD::FLUSHW, llvm::SelectionDAG::getEntryNode(), llvm::SelectionDAG::getNode(), and llvm::MVT::Other.
Referenced by getFRAMEADDR().
static SDValue getFRAMEADDR | ( | uint64_t | depth, |
SDValue | Op, | ||
SelectionDAG & | DAG, | ||
const SparcSubtarget * | Subtarget | ||
) | [static] |
Definition at line 2432 of file SparcISelLowering.cpp.
References llvm::ISD::ADD, llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getEntryNode(), getFLUSHW(), llvm::MachineFunction::getFrameInfo(), llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getNode(), llvm::SparcSubtarget::getStackPointerBias(), llvm::SDValue::getValueType(), llvm::SparcSubtarget::is64Bit(), and llvm::MachineFrameInfo::setFrameAddressIsTaken().
Referenced by LowerFRAMEADDR(), and LowerRETURNADDR().
static bool hasReturnsTwiceAttr | ( | SelectionDAG & | DAG, |
SDValue | Callee, | ||
ImmutableCallSite * | CS | ||
) | [static] |
Definition at line 660 of file SparcISelLowering.cpp.
References llvm::dyn_cast(), G, llvm::MachineFunction::getFunction(), llvm::Module::getFunction(), llvm::SelectionDAG::getMachineFunction(), llvm::GlobalValue::getParent(), llvm::CallSiteBase< FunTy, ValTy, UserTy, InstrTy, CallTy, InvokeTy, IterTy >::hasFnAttr(), llvm::Function::hasFnAttribute(), and llvm::Attribute::ReturnsTwice.
Referenced by llvm::SparcTargetLowering::LowerCall_32(), and llvm::SparcTargetLowering::LowerCall_64().
static SPCC::CondCodes IntCondCCodeToICC | ( | ISD::CondCode | CC | ) | [static] |
IntCondCCodeToICC - Convert a DAG integer condition code to a SPARC ICC condition.
Definition at line 1324 of file SparcISelLowering.cpp.
References llvm::SPCC::ICC_CC, llvm::SPCC::ICC_CS, llvm::SPCC::ICC_E, llvm::SPCC::ICC_G, llvm::SPCC::ICC_GE, llvm::SPCC::ICC_GU, llvm::SPCC::ICC_L, llvm::SPCC::ICC_LE, llvm::SPCC::ICC_LEU, llvm::SPCC::ICC_NE, llvm_unreachable, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, and llvm::ISD::SETULT.
Referenced by LowerBR_CC(), and LowerSELECT_CC().
static bool isFP128ABICall | ( | const char * | CalleeName | ) | [static] |
Definition at line 955 of file SparcISelLowering.cpp.
References I, and llvm::LibFunc::strcmp.
Referenced by llvm::SparcTargetLowering::getSRetArgSize().
static void LookThroughSetCC | ( | SDValue & | LHS, |
SDValue & | RHS, | ||
ISD::CondCode | CC, | ||
unsigned & | SPCC | ||
) | [static] |
Definition at line 1737 of file SparcISelLowering.cpp.
References llvm::SPISD::CMPFCC, llvm::SPISD::CMPICC, llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SPISD::SELECT_FCC, llvm::SPISD::SELECT_ICC, llvm::SPISD::SELECT_XCC, and llvm::ISD::SETNE.
Referenced by LowerBR_CC(), and LowerSELECT_CC().
static SDValue LowerADDC_ADDE_SUBC_SUBE | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 2671 of file SparcISelLowering.cpp.
References llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getMergeValues(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SDValue::getValue(), llvm::SDValue::getValueType(), llvm::SelectionDAG::getVTList(), llvm::MVT::Glue, llvm::HexagonISD::Hi, llvm::MVT::i32, llvm::MVT::i64, llvm_unreachable, llvm::HexagonISD::Lo, llvm::ISD::OR, llvm::ISD::SHL, llvm::ISD::SRL, llvm::ISD::SUBC, llvm::ISD::SUBE, llvm::ISD::TRUNCATE, and llvm::ISD::ZERO_EXTEND.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerATOMIC_LOAD_STORE | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 2768 of file SparcISelLowering.cpp.
References llvm::Monotonic.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerBR_CC | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI, | ||
bool | hasHardQuad | ||
) | [static] |
Definition at line 2285 of file SparcISelLowering.cpp.
References llvm::SPISD::BRFCC, llvm::SPISD::BRICC, llvm::SPISD::BRXCC, llvm::SPISD::CMPFCC, llvm::SPISD::CMPICC, llvm::MVT::f128, FPCondCCodeToFCC(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm::MVT::Glue, llvm::MVT::i32, IntCondCCodeToICC(), llvm::EVT::isInteger(), LookThroughSetCC(), llvm::SparcTargetLowering::LowerF128Compare(), and llvm::MVT::Other.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerDYNAMIC_STACKALLOC | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcSubtarget * | Subtarget | ||
) | [static] |
Definition at line 2401 of file SparcISelLowering.cpp.
References llvm::ISD::ADD, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getCopyToReg(), llvm::SelectionDAG::getMergeValues(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOperand(), llvm::SparcSubtarget::getStackPointerBias(), llvm::SDValue::getValue(), llvm::SDNode::getValueType(), llvm::SparcSubtarget::is64Bit(), and llvm::ISD::SUB.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerF128_FPEXTEND | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI | ||
) | [static] |
Definition at line 2155 of file SparcISelLowering.cpp.
References llvm::MVT::f32, llvm::MVT::f64, llvm::RTLIB::FPEXT_F32_F128, llvm::RTLIB::FPEXT_F64_F128, llvm::TargetLoweringBase::getLibcallName(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm_unreachable, and llvm::SparcTargetLowering::LowerF128Op().
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerF128_FPROUND | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI | ||
) | [static] |
Definition at line 2171 of file SparcISelLowering.cpp.
References llvm::MVT::f128, llvm::MVT::f32, llvm::MVT::f64, llvm::RTLIB::FPROUND_F128_F32, llvm::RTLIB::FPROUND_F128_F64, llvm::TargetLoweringBase::getLibcallName(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm_unreachable, and llvm::SparcTargetLowering::LowerF128Op().
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerF128Load | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 2545 of file SparcISelLowering.cpp.
References llvm::ISD::ADD, llvm::dyn_cast(), llvm::MVT::f128, llvm::MVT::f64, llvm::MemSDNode::getAlignment(), llvm::LoadSDNode::getBasePtr(), llvm::MemSDNode::getChain(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getMergeValues(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::LoadSDNode::getOffset(), llvm::SDValue::getOpcode(), llvm::MemSDNode::getPointerInfo(), llvm::SelectionDAG::getTargetConstant(), llvm::SDValue::getValueType(), llvm::MVT::i32, llvm::TargetOpcode::IMPLICIT_DEF, llvm::TargetOpcode::INSERT_SUBREG, llvm::MVT::Other, llvm::ISD::TokenFactor, and llvm::ISD::UNDEF.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerF128Store | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 2596 of file SparcISelLowering.cpp.
References llvm::ISD::ADD, llvm::dyn_cast(), llvm::TargetOpcode::EXTRACT_SUBREG, llvm::MVT::f64, llvm::MemSDNode::getAlignment(), llvm::StoreSDNode::getBasePtr(), llvm::MemSDNode::getChain(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getMachineNode(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::StoreSDNode::getOffset(), llvm::SDValue::getOpcode(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTargetConstant(), llvm::StoreSDNode::getValue(), llvm::SDValue::getValueType(), llvm::MVT::i32, llvm::MVT::Other, llvm::ISD::TokenFactor, and llvm::ISD::UNDEF.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerF64Op | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
unsigned | opcode | ||
) | [static] |
Definition at line 2516 of file SparcISelLowering.cpp.
References llvm::MVT::f32, llvm::MVT::f64, llvm::ISD::FABS, llvm::ISD::FNEG, llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOperand(), llvm::SelectionDAG::getTargetExtractSubreg(), llvm::SelectionDAG::getTargetInsertSubreg(), llvm::SDValue::getValueType(), and llvm::TargetOpcode::IMPLICIT_DEF.
Referenced by LowerFNEGorFABS().
static SDValue LowerFNEGorFABS | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
bool | isV9 | ||
) | [static] |
Definition at line 2639 of file SparcISelLowering.cpp.
References llvm::MVT::f128, llvm::MVT::f64, llvm::ISD::FABS, llvm::ISD::FNEG, llvm::SelectionDAG::getMachineNode(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SelectionDAG::getTargetExtractSubreg(), llvm::SelectionDAG::getTargetInsertSubreg(), llvm::SDValue::getValueType(), llvm::TargetOpcode::IMPLICIT_DEF, and LowerF64Op().
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerFP_TO_SINT | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI, | ||
bool | hasHardQuad | ||
) | [static] |
Definition at line 2188 of file SparcISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::MVT::f128, llvm::MVT::f32, llvm::MVT::f64, llvm::RTLIB::FPTOSINT_F128_I32, llvm::RTLIB::FPTOSINT_F128_I64, llvm::SPISD::FTOI, llvm::SPISD::FTOX, llvm::TargetLoweringBase::getLibcallName(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm::MVT::i32, llvm::MVT::i64, llvm::TargetLoweringBase::isTypeLegal(), and llvm::SparcTargetLowering::LowerF128Op().
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerFP_TO_UINT | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI, | ||
bool | hasHardQuad | ||
) | [static] |
Definition at line 2245 of file SparcISelLowering.cpp.
References llvm::MVT::f128, llvm::RTLIB::FPTOUINT_F128_I32, llvm::RTLIB::FPTOUINT_F128_I64, llvm::TargetLoweringBase::getLibcallName(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm::MVT::i32, llvm::MVT::i64, llvm::TargetLoweringBase::isTypeLegal(), and llvm::SparcTargetLowering::LowerF128Op().
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerFRAMEADDR | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcSubtarget * | Subtarget | ||
) | [static] |
Definition at line 2471 of file SparcISelLowering.cpp.
References llvm::SDValue::getConstantOperandVal(), and getFRAMEADDR().
Referenced by LowerINTRINSIC_W_CHAIN(), and llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerRETURNADDR | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI, | ||
const SparcSubtarget * | Subtarget | ||
) | [static] |
Definition at line 2480 of file SparcISelLowering.cpp.
References llvm::ISD::ADD, llvm::MachineFunction::addLiveIn(), llvm::SDValue::getConstantOperandVal(), llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getEntryNode(), getFRAMEADDR(), llvm::MachineFunction::getFrameInfo(), llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getNode(), llvm::TargetLoweringBase::getPointerTy(), llvm::TargetLoweringBase::getRegClassFor(), llvm::SDValue::getValueType(), llvm::SparcSubtarget::is64Bit(), llvm::MachineFrameInfo::setReturnAddressIsTaken(), and llvm::TargetLowering::verifyReturnAddressArgumentIsConstant().
Referenced by LowerINTRINSIC_W_CHAIN(), and llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerSELECT_CC | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI, | ||
bool | hasHardQuad | ||
) | [static] |
Definition at line 2322 of file SparcISelLowering.cpp.
References llvm::SPISD::CMPFCC, llvm::SPISD::CMPICC, llvm::MVT::f128, FPCondCCodeToFCC(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm::MVT::Glue, llvm::MVT::i32, IntCondCCodeToICC(), llvm::EVT::isInteger(), LookThroughSetCC(), llvm::SparcTargetLowering::LowerF128Compare(), llvm::SPISD::SELECT_FCC, llvm::SPISD::SELECT_ICC, and llvm::SPISD::SELECT_XCC.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerSINT_TO_FP | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI, | ||
bool | hasHardQuad | ||
) | [static] |
Definition at line 2217 of file SparcISelLowering.cpp.
References llvm::ISD::BITCAST, llvm::MVT::f128, llvm::MVT::f32, llvm::MVT::f64, llvm::TargetLoweringBase::getLibcallName(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm::MVT::i32, llvm::MVT::i64, llvm::TargetLoweringBase::isTypeLegal(), llvm::SPISD::ITOF, llvm::SparcTargetLowering::LowerF128Op(), llvm::RTLIB::SINTTOFP_I32_F128, llvm::RTLIB::SINTTOFP_I64_F128, and llvm::SPISD::XTOF.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerUINT_TO_FP | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI, | ||
bool | hasHardQuad | ||
) | [static] |
Definition at line 2266 of file SparcISelLowering.cpp.
References llvm::MVT::f128, llvm::TargetLoweringBase::getLibcallName(), llvm::SDValue::getOperand(), llvm::SDValue::getValueType(), llvm::MVT::i32, llvm::MVT::i64, llvm::TargetLoweringBase::isTypeLegal(), llvm::SparcTargetLowering::LowerF128Op(), llvm::RTLIB::UINTTOFP_I32_F128, and llvm::RTLIB::UINTTOFP_I64_F128.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerUMULO_SMULO | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI | ||
) | [static] |
Definition at line 2722 of file SparcISelLowering.cpp.
References llvm::ISD::EXTRACT_ELEMENT, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getMergeValues(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::SelectionDAG::getSetCC(), llvm::SDValue::getValueType(), llvm::MVT::i128, llvm::MVT::i32, llvm::MVT::i64, llvm::TargetLowering::makeLibCall(), llvm::RTLIB::MUL_I128, llvm::ISD::SETNE, llvm::ISD::SMULO, llvm::ISD::SRA, llvm::ISD::UMULO, and llvm::SDNode::use_empty().
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerVAARG | ( | SDValue | Op, |
SelectionDAG & | DAG | ||
) | [static] |
Definition at line 2378 of file SparcISelLowering.cpp.
References llvm::ISD::ADD, llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getLoad(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::SDNode::getOperand(), llvm::EVT::getSizeInBits(), llvm::SelectionDAG::getStore(), llvm::SDValue::getValue(), llvm::SDValue::getValueType(), llvm::SDNode::getValueType(), and Node.
Referenced by llvm::SparcTargetLowering::LowerOperation().
static SDValue LowerVASTART | ( | SDValue | Op, |
SelectionDAG & | DAG, | ||
const SparcTargetLowering & | TLI | ||
) | [static] |
Definition at line 2358 of file SparcISelLowering.cpp.
References llvm::ISD::ADD, llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getInfo(), llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getNode(), llvm::SDValue::getOperand(), llvm::TargetLoweringBase::getPointerTy(), llvm::SelectionDAG::getRegister(), llvm::SelectionDAG::getStore(), llvm::SparcMachineFunctionInfo::getVarArgsFrameOffset(), and llvm::MachineFrameInfo::setFrameAddressIsTaken().
Referenced by llvm::SparcTargetLowering::LowerOperation().
static unsigned toCallerWindow | ( | unsigned | Reg | ) | [static] |
Definition at line 163 of file SparcISelLowering.cpp.
Referenced by llvm::SparcTargetLowering::LowerCall_32(), and llvm::SparcTargetLowering::LowerCall_64().