LLVM API Documentation

llvm::AlphaTargetLowering Class Reference

#include <AlphaISelLowering.h>

Inheritance diagram for llvm::AlphaTargetLowering:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AlphaTargetLowering (TargetMachine &TM)
virtual SDOperand LowerOperation (SDOperand Op, SelectionDAG &DAG)
virtual SDOperand CustomPromoteOperation (SDOperand Op, SelectionDAG &DAG)
const char * getTargetNodeName (unsigned Opcode) const
virtual std::pair< SDOperand,
SDOperand
LowerCallTo (SDOperand Chain, const Type *RetTy, bool isVarArg, unsigned CC, bool isTailCall, SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG)
ConstraintType getConstraintType (char ConstraintLetter) const
std::vector< unsigned > getRegClassForInlineAsmConstraint (const std::string &Constraint, MVT::ValueType VT) const
void restoreGP (MachineBasicBlock *BB)
void restoreRA (MachineBasicBlock *BB)
unsigned getVRegGP ()
unsigned getVRegRA ()
bool hasITOF ()

Detailed Description

Definition at line 57 of file AlphaISelLowering.h.


Constructor & Destructor Documentation

AlphaTargetLowering::AlphaTargetLowering ( TargetMachine TM  ) 

Definition at line 40 of file AlphaISelLowering.cpp.

References llvm::TargetLowering::addLegalFPImmediate(), llvm::TargetLowering::addRegisterClass(), llvm::ISD::BR_CC, llvm::ISD::BRIND, llvm::ISD::BSWAP, llvm::TargetLowering::computeRegisterProperties(), llvm::ISD::ConstantFP, llvm::ISD::ConstantPool, llvm::ISD::CTLZ, llvm::ISD::CTPOP, llvm::ISD::CTTZ, llvm::TargetLowering::Custom, llvm::ISD::DEBUG_LABEL, llvm::ISD::DEBUG_LOC, llvm::ISD::DYNAMIC_STACKALLOC, llvm::TargetLowering::Expand, llvm::ISD::ExternalSymbol, llvm::ISD::EXTLOAD, llvm::MVT::f32, llvm::MVT::f64, llvm::ISD::FCOS, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT, llvm::ISD::FREM, llvm::ISD::FSIN, llvm::ISD::FSQRT, llvm::TargetMachine::getSubtarget(), llvm::ISD::GlobalAddress, 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::SDIV, llvm::ISD::SELECT_CC, llvm::ISD::SETCC, llvm::TargetLowering::setOperationAction(), llvm::TargetLowering::setSetCCResultContents(), llvm::TargetLowering::setSetCCResultType(), llvm::TargetLowering::setShiftAmountType(), llvm::TargetLowering::setStackPointerRegisterToSaveRestore(), llvm::ISD::SEXTLOAD, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SINT_TO_FP, llvm::ISD::SREM, llvm::ISD::STACKRESTORE, llvm::ISD::STACKSAVE, llvm::ISD::TRUNCSTORE, llvm::ISD::UDIV, llvm::ISD::UINT_TO_FP, llvm::ISD::UREM, llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VAEND, llvm::ISD::VASTART, llvm::TargetLowering::ZeroOrOneSetCCResult, and llvm::ISD::ZEXTLOAD.


Member Function Documentation

SDOperand AlphaTargetLowering::LowerOperation ( SDOperand  Op,
SelectionDAG DAG 
) [virtual]

LowerOperation - Provide custom lowering hooks for some operations.

Reimplemented from llvm::TargetLowering.

Definition at line 385 of file AlphaISelLowering.cpp.

References llvm::ISD::ADD, Base, llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), C, llvm::ISD::Constant, llvm::ISD::ConstantPool, CP, llvm::MachineFrameInfo::CreateStackObject(), llvm::AlphaISD::CVTQS_, llvm::AlphaISD::CVTQT_, llvm::AlphaISD::CVTTQ_, DAG, llvm::AlphaISD::DivCall, llvm::ISD::ExternalSymbol, llvm::MVT::f32, llvm::MVT::f64, llvm::ISD::FORMAL_ARGUMENTS, llvm::ISD::FP_EXTEND, llvm::ISD::FP_TO_SINT, llvm::AlphaISD::FTOIT_, llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getEntryNode(), llvm::SelectionDAG::getExternalSymbol(), llvm::SelectionDAG::getExtLoad(), llvm::SelectionDAG::getFrameIndex(), llvm::MachineFunction::getFrameInfo(), llvm::GlobalAddressSDNode::getGlobal(), llvm::SelectionDAG::getLoad(), llvm::SelectionDAG::getMachineFunction(), llvm::SelectionDAG::getNode(), llvm::GlobalAddressSDNode::getOffset(), llvm::TargetLowering::getPointerTy(), llvm::SelectionDAG::getSetCC(), llvm::SelectionDAG::getSrcValue(), llvm::SelectionDAG::getTargetConstantPool(), llvm::SelectionDAG::getTargetExternalSymbol(), llvm::SelectionDAG::getTargetGlobalAddress(), llvm::SelectionDAG::getValueType(), llvm::Value::getValueType(), getVRegRA(), llvm::ISD::GlobalAddress, llvm::AlphaISD::GlobalBaseReg, llvm::AlphaISD::GPRelHi, llvm::AlphaISD::GPRelLo, GV, SPISD::Hi, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::isFloatingPoint(), llvm::MVT::isInteger(), llvm::AlphaISD::ITOFT_, SPISD::Lo, LowerFORMAL_ARGUMENTS(), LowerRET(), llvm::ISD::MUL, NP, Offset, Op, llvm::MVT::Other, llvm::AlphaISD::RelLit, llvm::ISD::RET, llvm::ISD::SDIV, llvm::ISD::SELECT, llvm::ISD::SETLT, llvm::ISD::SEXTLOAD, llvm::ISD::SINT_TO_FP, llvm::ISD::SREM, llvm::ISD::STORE, llvm::ISD::SUB, llvm::ISD::TRUNCSTORE, llvm::ISD::UDIV, llvm::ISD::UREM, llvm::ISD::VAARG, llvm::ISD::VACOPY, Val, llvm::Use::Val, and llvm::ISD::VASTART.

Referenced by CustomPromoteOperation().

SDOperand AlphaTargetLowering::CustomPromoteOperation ( SDOperand  Op,
SelectionDAG DAG 
) [virtual]

CustomPromoteOperation - This callback is invoked for operations that are unsupported by the target, are registered to use 'custom' lowering, and whose type needs to be promoted.

Reimplemented from llvm::TargetLowering.

Definition at line 572 of file AlphaISelLowering.cpp.

References DAG, llvm::MVT::i32, LowerOperation(), Op, and llvm::ISD::VAARG.

const char * AlphaTargetLowering::getTargetNodeName ( unsigned  Opcode  )  const [virtual]

getTargetNodeName() - This method returns the name of a target specific DAG node.

Reimplemented from llvm::TargetLowering.

Definition at line 143 of file AlphaISelLowering.cpp.

References llvm::AlphaISD::CALL, llvm::AlphaISD::CVTQS_, llvm::AlphaISD::CVTQT_, llvm::AlphaISD::CVTTQ_, llvm::AlphaISD::DivCall, llvm::AlphaISD::FTOIT_, llvm::AlphaISD::GlobalBaseReg, llvm::AlphaISD::GlobalRetAddr, llvm::AlphaISD::GPRelHi, llvm::AlphaISD::GPRelLo, llvm::AlphaISD::ITOFT_, llvm::AlphaISD::RelLit, and llvm::AlphaISD::RET_FLAG.

std::pair< SDOperand, SDOperand > AlphaTargetLowering::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 304 of file AlphaISelLowering.cpp.

References llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::AlphaISD::CALL, llvm::ISD::CALLSEQ_END, DAG, llvm::MVT::f32, llvm::MVT::f64, first, llvm::SelectionDAG::getCALLSEQ_START(), llvm::SelectionDAG::getConstant(), llvm::SelectionDAG::getNode(), llvm::TargetLowering::getPointerTy(), llvm::SDOperand::getValue(), llvm::SelectionDAG::getValueType(), llvm::TargetLowering::getValueType(), llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::Type::isSigned(), llvm::MVT::isVoid, NumBytes, Ops, llvm::MVT::Other, RetTy, RetVals, second, llvm::ISD::SIGN_EXTEND, llvm::ISD::TRUNCATE, and llvm::ISD::ZERO_EXTEND.

AlphaTargetLowering::ConstraintType AlphaTargetLowering::getConstraintType ( char  ConstraintLetter  )  const [virtual]

getConstraintType - Given a constraint letter, return the type of constraint it is for this target.

Reimplemented from llvm::TargetLowering.

Definition at line 588 of file AlphaISelLowering.cpp.

References llvm::TargetLowering::C_RegisterClass, and llvm::TargetLowering::getConstraintType().

std::vector< unsigned > AlphaTargetLowering::getRegClassForInlineAsmConstraint ( const std::string &  Constraint,
MVT::ValueType  VT 
) const [virtual]

getRegClassForInlineAsmConstraint - Given a constraint letter (e.g. "r"), return a list of registers that can be used to satisfy the constraint. This should only be used for C_RegisterClass constraints.

Reimplemented from llvm::TargetLowering.

Definition at line 599 of file AlphaISelLowering.cpp.

void AlphaTargetLowering::restoreGP ( MachineBasicBlock BB  ) 

Definition at line 368 of file AlphaISelLowering.cpp.

References llvm::MachineInstrBuilder::addReg(), BB, and llvm::BuildMI().

void AlphaTargetLowering::restoreRA ( MachineBasicBlock BB  ) 

Definition at line 372 of file AlphaISelLowering.cpp.

References llvm::MachineInstrBuilder::addReg(), BB, and llvm::BuildMI().

unsigned llvm::AlphaTargetLowering::getVRegGP (  )  [inline]

Definition at line 89 of file AlphaISelLowering.h.

unsigned llvm::AlphaTargetLowering::getVRegRA (  )  [inline]

Definition at line 90 of file AlphaISelLowering.h.

Referenced by LowerOperation().

bool llvm::AlphaTargetLowering::hasITOF (  )  [inline]

Definition at line 91 of file AlphaISelLowering.h.


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