LLVM API Documentation
#include <IA64ISelLowering.h>
Inheritance diagram for llvm::IA64TargetLowering:
Public Member Functions | |
IA64TargetLowering (TargetMachine &TM) | |
const char * | getTargetNodeName (unsigned Opcode) const |
virtual std::vector< SDOperand > | LowerArguments (Function &F, SelectionDAG &DAG) |
virtual std::pair< SDOperand, SDOperand > | LowerCallTo (SDOperand Chain, const Type *RetTy, bool isVarArg, unsigned CC, bool isTailCall, SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG) |
virtual SDOperand | LowerOperation (SDOperand Op, SelectionDAG &DAG) |
virtual std::pair< SDOperand, SDOperand > | LowerFrameReturnAddress (bool isFrameAddr, SDOperand Chain, unsigned Depth, SelectionDAG &DAG) |
Public Attributes | |
unsigned | VirtGPR |
Definition at line 40 of file IA64ISelLowering.h.
IA64TargetLowering::IA64TargetLowering | ( | TargetMachine & | TM | ) |
Definition at line 26 of file IA64ISelLowering.cpp.
References llvm::TargetLowering::addLegalFPImmediate(), llvm::TargetLowering::addRegisterClass(), llvm::ISD::BR_CC, llvm::ISD::BSWAP, llvm::TargetLowering::computeRegisterProperties(), llvm::ISD::ConstantFP, llvm::ISD::CTLZ, llvm::ISD::CTTZ, llvm::TargetLowering::Custom, llvm::ISD::DEBUG_LABEL, llvm::ISD::DEBUG_LOC, llvm::ISD::DYNAMIC_STACKALLOC, llvm::TargetLowering::Expand, llvm::ISD::EXTLOAD, llvm::MVT::f32, llvm::MVT::f64, llvm::ISD::FCOPYSIGN, llvm::ISD::FCOS, llvm::ISD::FP_ROUND_INREG, llvm::ISD::FREM, llvm::ISD::FSIN, llvm::ISD::FSQRT, llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::ISD::LOCATION, llvm::ISD::MEMCPY, llvm::ISD::MEMMOVE, llvm::ISD::MEMSET, llvm::MVT::Other, llvm::TargetLowering::Promote, llvm::ISD::RET, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SELECT_CC, llvm::TargetLowering::setOperationAction(), llvm::TargetLowering::setSetCCResultType(), llvm::TargetLowering::setShiftAmountType(), llvm::TargetLowering::setStackPointerRegisterToSaveRestore(), llvm::ISD::SEXTLOAD, llvm::ISD::SINT_TO_FP, llvm::ISD::STACKRESTORE, llvm::ISD::STACKSAVE, llvm::ISD::UINT_TO_FP, llvm::ISD::UREM, llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VAEND, llvm::ISD::VASTART, and llvm::ISD::ZEXTLOAD.
const char * IA64TargetLowering::getTargetNodeName | ( | unsigned | Opcode | ) | const [virtual] |
getTargetNodeName() - This method returns the name of a target specific DAG node.
Reimplemented from llvm::TargetLowering.
Definition at line 118 of file IA64ISelLowering.cpp.
References llvm::IA64ISD::BRCALL, llvm::IA64ISD::GETFD, and llvm::IA64ISD::RET_FLAG.
std::vector< SDOperand > IA64TargetLowering::LowerArguments | ( | Function & | F, | |
SelectionDAG & | DAG | |||
) | [virtual] |
LowerArguments - This hook must be implemented to indicate how we should lower the arguments for the specified function, into the specified DAG.
Reimplemented from llvm::TargetLowering.
Definition at line 142 of file IA64ISelLowering.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineFunction::addLiveIn(), llvm::MachineFunction::addLiveOut(), llvm::MachineInstrBuilder::addReg(), BB, llvm::BuildMI(), llvm::MachineFrameInfo::CreateFixedObject(), llvm::SSARegMap::createVirtualRegister(), DAG, E, F, llvm::MVT::f32, llvm::MVT::f64, llvm::Type::FloatTy, llvm::ISD::FP_ROUND, llvm::MachineFunction::front(), llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getEntryNode(), llvm::SelectionDAG::getFrameIndex(), llvm::MachineFunction::getFrameInfo(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getNode(), llvm::TargetLowering::getRegClassFor(), llvm::SelectionDAG::getRoot(), llvm::SelectionDAG::getSrcValue(), llvm::MachineFunction::getSSARegMap(), llvm::SDOperand::getValue(), llvm::TargetLowering::getValueType(), I, llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::MVT::isVoid, MF, llvm::SelectionDAG::setRoot(), llvm::ISD::TRUNCATE, and VirtGPR.
std::pair< SDOperand, SDOperand > IA64TargetLowering::LowerCallTo | ( | SDOperand | Chain, | |
const Type * | RetTy, | |||
bool | isVarArg, | |||
unsigned | CC, | |||
bool | isTailCall, | |||
SDOperand | Callee, | |||
ArgListTy & | Args, | |||
SelectionDAG & | DAG | |||
) | [virtual] |
LowerCallTo - This hook lowers an abstract call to a function into an actual call.
Definition at line 299 of file IA64ISelLowering.cpp.
References llvm::ISD::ADD, llvm::IA64ISD::BRCALL, llvm::ISD::CALLSEQ_END, DAG, llvm::MVT::f32, llvm::MVT::f64, first, llvm::MVT::Flag, llvm::ISD::FP_EXTEND, llvm::SelectionDAG::getCALLSEQ_START(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getCopyToReg(), llvm::IA64ISD::GETFD, llvm::MachineFunction::getInfo(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getNode(), llvm::TargetLowering::getPointerTy(), llvm::SelectionDAG::getRegister(), llvm::SelectionDAG::getSetCC(), llvm::SelectionDAG::getSrcValue(), llvm::SDOperand::getValue(), llvm::TargetLowering::getValueType(), llvm::Value::getValueType(), llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::MVT::isFloatingPoint(), llvm::MVT::isInteger(), llvm::MVT::isVoid, MF, NumBytes, llvm::MVT::Other, RetTy, RetVals, second, llvm::ISD::SETNE, llvm::ISD::SIGN_EXTEND, llvm::ISD::STORE, llvm::ISD::TokenFactor, llvm::ISD::TRUNCATE, llvm::SDOperand::Val, Val, and llvm::ISD::ZERO_EXTEND.
std::pair< SDOperand, SDOperand > IA64TargetLowering::LowerFrameReturnAddress | ( | bool | isFrameAddr, | |
SDOperand | Chain, | |||
unsigned | Depth, | |||
SelectionDAG & | DAG | |||
) | [virtual] |
LowerFrameReturnAddress - This hook lowers a call to llvm.returnaddress or llvm.frameaddress (depending on the value of the first argument). The return values are the result pointer and the resultant token chain. If not implemented, both of these intrinsics will return null.
Reimplemented from llvm::TargetLowering.
Definition at line 542 of file IA64ISelLowering.cpp.
References abort().
SDOperand IA64TargetLowering::LowerOperation | ( | SDOperand | Op, | |
SelectionDAG & | DAG | |||
) | [virtual] |
LowerOperation - for custom lowering specific ops (currently, only "ret void")
Reimplemented from llvm::TargetLowering.
Definition at line 549 of file IA64ISelLowering.cpp.
References abort(), llvm::ISD::ADD, Copy, DAG, llvm::MVT::Flag, llvm::FR, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getCopyFromReg(), llvm::SelectionDAG::getCopyToReg(), llvm::SelectionDAG::getFrameIndex(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getNode(), llvm::TargetLowering::getPointerTy(), llvm::MVT::getSizeInBits(), llvm::SelectionDAG::getSrcValue(), llvm::SDOperand::getValue(), llvm::MVT::i64, llvm::MVT::isInteger(), Op, llvm::MVT::Other, llvm::ISD::RET, llvm::IA64ISD::RET_FLAG, llvm::ISD::STORE, llvm::ISD::VAARG, llvm::ISD::VASTART, and VirtGPR.
unsigned llvm::IA64TargetLowering::VirtGPR |
Definition at line 48 of file IA64ISelLowering.h.
Referenced by LowerArguments(), and LowerOperation().