LLVM API Documentation

llvm::IA64TargetLowering Class Reference

#include <IA64ISelLowering.h>

Inheritance diagram for llvm::IA64TargetLowering:

Inheritance graph
[legend]
Collaboration diagram for llvm::IA64TargetLowering:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 IA64TargetLowering (TargetMachine &TM)
const char * getTargetNodeName (unsigned Opcode) const
virtual std::vector< SDOperandLowerArguments (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

Detailed Description

Definition at line 40 of file IA64ISelLowering.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.


Member Data Documentation

unsigned llvm::IA64TargetLowering::VirtGPR

Definition at line 48 of file IA64ISelLowering.h.

Referenced by LowerArguments(), and LowerOperation().


The documentation for this class was generated from the following files: