LLVM API Documentation
#include <AlphaISelLowering.h>


Public Member Functions | |
| AlphaTargetLowering (TargetMachine &TM) | |
| virtual MVT | getSetCCResultType (MVT VT) const |
| getSetCCResultType - Get the SETCC result ValueType | |
| virtual SDValue | LowerOperation (SDValue Op, SelectionDAG &DAG) |
| virtual void | ReplaceNodeResults (SDNode *N, SmallVectorImpl< SDValue > &Results, SelectionDAG &DAG) |
| const char * | getTargetNodeName (unsigned Opcode) const |
| virtual std::pair< SDValue, SDValue > | LowerCallTo (SDValue Chain, const Type *RetTy, bool RetSExt, bool RetZExt, bool isVarArg, bool isInreg, unsigned CC, bool isTailCall, SDValue Callee, ArgListTy &Args, SelectionDAG &DAG) |
| ConstraintType | getConstraintType (const std::string &Constraint) const |
| std::vector< unsigned > | getRegClassForInlineAsmConstraint (const std::string &Constraint, MVT VT) const |
| bool | hasITOF () |
| MachineBasicBlock * | EmitInstrWithCustomInserter (MachineInstr *MI, MachineBasicBlock *BB) |
| virtual bool | isOffsetFoldingLegal (const GlobalAddressSDNode *GA) const |
Definition at line 62 of file AlphaISelLowering.h.
| AlphaTargetLowering::AlphaTargetLowering | ( | TargetMachine & | TM | ) | [explicit] |
Definition at line 40 of file AlphaISelLowering.cpp.
References llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::TargetLowering::addLegalFPImmediate(), llvm::TargetLowering::addRegisterClass(), llvm::lltok::APFloat, llvm::ISD::BIT_CONVERT, llvm::ISD::BR_CC, llvm::ISD::BR_JT, llvm::ISD::BSWAP, llvm::TargetLowering::computeRegisterProperties(), llvm::ISD::ConstantPool, llvm::ISD::CTLZ, llvm::ISD::CTPOP, llvm::ISD::CTTZ, llvm::TargetLowering::Custom, llvm::ISD::DBG_LABEL, llvm::ISD::DBG_STOPPOINT, llvm::ISD::DEBUG_LOC, llvm::ISD::DYNAMIC_STACKALLOC, llvm::ISD::EH_LABEL, 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::FPOW, llvm::ISD::FREM, llvm::ISD::FSIN, llvm::ISD::FSQRT, llvm::TargetMachine::getSubtarget(), llvm::ISD::GlobalAddress, llvm::ISD::GlobalTLSAddress, llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::ISD::JumpTable, llvm::MVT::Other, llvm::TargetLowering::Promote, llvm::ISD::RET, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SDIV, llvm::ISD::SELECT_CC, llvm::TargetLowering::setBooleanContents(), llvm::ISD::SETCC, llvm::TargetLowering::setJumpBufAlignment(), llvm::TargetLowering::setJumpBufSize(), llvm::TargetLowering::setLoadExtAction(), llvm::TargetLowering::setOperationAction(), llvm::TargetLowering::setShiftAmountType(), llvm::TargetLowering::setStackPointerRegisterToSaveRestore(), llvm::TargetLowering::setUsesGlobalOffsetTable(), llvm::ISD::SEXTLOAD, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SINT_TO_FP, llvm::ISD::SMUL_LOHI, llvm::ISD::SREM, llvm::ISD::STACKRESTORE, llvm::ISD::STACKSAVE, llvm::ISD::SUBC, llvm::ISD::SUBE, llvm::ISD::UDIV, llvm::ISD::UINT_TO_FP, llvm::ISD::UMUL_LOHI, llvm::ISD::UREM, llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VAEND, llvm::ISD::VASTART, llvm::TargetLowering::ZeroOrOneBooleanContent, and llvm::ISD::ZEXTLOAD.
getSetCCResultType - Get the SETCC result ValueType
Reimplemented from llvm::TargetLowering.
Definition at line 162 of file AlphaISelLowering.cpp.
References llvm::MVT::i64.
| SDValue AlphaTargetLowering::LowerOperation | ( | SDValue | Op, | |
| SelectionDAG & | DAG | |||
| ) | [virtual] |
LowerOperation - Provide custom lowering hooks for some operations.
Reimplemented from llvm::TargetLowering.
Definition at line 458 of file AlphaISelLowering.cpp.
References llvm::ISD::ADD, llvm::ISD::BIT_CONVERT, llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), llvm::CallingConv::C, llvm::ISD::Constant, llvm::ISD::ConstantPool, CP, CPI, llvm::AlphaISD::CVTQS_, llvm::AlphaISD::CVTQT_, llvm::AlphaISD::CVTTQ_, 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::ISD::FRAMEADDR, llvm::ConstantPoolSDNode::getAlignment(), llvm::SelectionDAG::getConstant(), llvm::ConstantPoolSDNode::getConstVal(), llvm::SelectionDAG::getExternalSymbol(), llvm::SelectionDAG::getExtLoad(), llvm::SelectionDAG::getFrameIndex(), llvm::GlobalAddressSDNode::getGlobal(), llvm::SelectionDAG::getLoad(), llvm::SDValue::getNode(), llvm::SelectionDAG::getNode(), llvm::GlobalAddressSDNode::getOffset(), llvm::SDNode::getOpcode(), llvm::SDValue::getOpcode(), llvm::SDValue::getOperand(), llvm::TargetLowering::getPointerTy(), llvm::SelectionDAG::getStore(), llvm::SelectionDAG::getTargetConstantPool(), llvm::SelectionDAG::getTargetExternalSymbol(), llvm::SelectionDAG::getTargetGlobalAddress(), llvm::SelectionDAG::getTruncStore(), llvm::SDValue::getValue(), llvm::SDNode::getValueType(), llvm::SDValue::getValueType(), llvm::ISD::GLOBAL_OFFSET_TABLE, llvm::ISD::GlobalAddress, llvm::AlphaISD::GlobalRetAddr, llvm::ISD::GlobalTLSAddress, llvm::AlphaISD::GPRelHi, llvm::AlphaISD::GPRelLo, GV, llvm::SPISD::Hi, llvm::MVT::i32, llvm::MVT::i64, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::MVT::isInteger(), llvm::ISD::JumpTable, llvm::SPISD::Lo, LowerFORMAL_ARGUMENTS(), LowerJumpTable(), LowerRET(), llvm::ISD::MUL, llvm::ISD::MULHU, NP, llvm::AlphaISD::RelLit, llvm::ISD::RET, llvm::ISD::RETURNADDR, llvm::ISD::SDIV, llvm::ISD::SEXTLOAD, llvm::ISD::SINT_TO_FP, llvm::ISD::SREM, llvm::ISD::SUB, llvm::ISD::UDIV, llvm::ISD::UREM, llvm::ISD::VAARG, llvm::ISD::VACOPY, Val, llvm::ISD::VASTART, and VT.
| void AlphaTargetLowering::ReplaceNodeResults | ( | SDNode * | N, | |
| SmallVectorImpl< SDValue > & | Results, | |||
| SelectionDAG & | DAG | |||
| ) | [virtual] |
ReplaceNodeResults - Replace the results of node with an illegal result type with new values built out of custom code.
Reimplemented from llvm::TargetLowering.
Definition at line 615 of file AlphaISelLowering.cpp.
References llvm::SelectionDAG::getLoad(), llvm::SDValue::getNode(), llvm::SDNode::getOpcode(), llvm::SDNode::getValueType(), llvm::MVT::i32, llvm::SmallVectorImpl< T >::push_back(), 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 166 of file AlphaISelLowering.cpp.
References llvm::AlphaISD::CALL, llvm::AlphaISD::COND_BRANCH_F, llvm::AlphaISD::COND_BRANCH_I, llvm::AlphaISD::CVTQS_, llvm::AlphaISD::CVTQT_, llvm::AlphaISD::CVTTQ_, llvm::AlphaISD::DivCall, llvm::AlphaISD::GlobalRetAddr, llvm::AlphaISD::GPRelHi, llvm::AlphaISD::GPRelLo, llvm::AlphaISD::RelLit, and llvm::AlphaISD::RET_FLAG.
| std::pair< SDValue, SDValue > AlphaTargetLowering::LowerCallTo | ( | SDValue | Chain, | |
| const Type * | RetTy, | |||
| bool | RetSExt, | |||
| bool | RetZExt, | |||
| bool | isVarArg, | |||
| bool | isInreg, | |||
| unsigned | CC, | |||
| bool | isTailCall, | |||
| SDValue | Callee, | |||
| ArgListTy & | Args, | |||
| SelectionDAG & | DAG | |||
| ) | [virtual] |
LowerCallTo - This hook lowers an abstract call to a function into an actual call.
Definition at line 355 of file AlphaISelLowering.cpp.
References llvm::ISD::ANY_EXTEND, llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::AlphaISD::CALL, llvm::ISD::DELETED_NODE, llvm::MVT::f32, llvm::MVT::f64, llvm::SelectionDAG::getCALLSEQ_END(), llvm::SelectionDAG::getCALLSEQ_START(), llvm::SelectionDAG::getIntPtrConstant(), llvm::SelectionDAG::getNode(), llvm::MVT::getSimpleVT(), llvm::SDValue::getValue(), llvm::SelectionDAG::getValueType(), llvm::TargetLowering::getValueType(), llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::MVT::isVoid, llvm::SDValue::Node, Node, llvm::MVT::Other, llvm::ISD::SIGN_EXTEND, llvm::ISD::TRUNCATE, Ty, and llvm::ISD::ZERO_EXTEND.
| AlphaTargetLowering::ConstraintType AlphaTargetLowering::getConstraintType | ( | const std::string & | Constraint | ) | const [virtual] |
getConstraintType - Given a constraint letter, return the type of constraint it is for this target.
Reimplemented from llvm::TargetLowering.
Definition at line 635 of file AlphaISelLowering.cpp.
References llvm::TargetLowering::C_RegisterClass, and llvm::TargetLowering::getConstraintType().
| std::vector< unsigned > AlphaTargetLowering::getRegClassForInlineAsmConstraint | ( | const std::string & | Constraint, | |
| MVT | 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 648 of file AlphaISelLowering.cpp.
| bool llvm::AlphaTargetLowering::hasITOF | ( | ) | [inline] |
Definition at line 98 of file AlphaISelLowering.h.
| MachineBasicBlock * AlphaTargetLowering::EmitInstrWithCustomInserter | ( | MachineInstr * | MI, | |
| MachineBasicBlock * | BB | |||
| ) | [virtual] |
Reimplemented from llvm::TargetLowering.
Definition at line 687 of file AlphaISelLowering.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::addSuccessor(), llvm::ISD::BR, llvm::BuildMI(), llvm::MachineFunction::CreateMachineBasicBlock(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineFunction::DeleteMachineInstr(), F, llvm::TargetInstrInfo::get(), llvm::MachineBasicBlock::getBasicBlock(), llvm::TargetMachine::getInstrInfo(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::TargetLowering::getTargetMachine(), llvm::MachineFunction::insert(), TII, and llvm::MachineBasicBlock::transferSuccessors().
| bool AlphaTargetLowering::isOffsetFoldingLegal | ( | const GlobalAddressSDNode * | GA | ) | const [virtual] |
isOffsetFoldingLegal - Return true if folding a constant offset with the given GlobalAddress is legal. It is frequently not legal in PIC relocation models.
Reimplemented from llvm::TargetLowering.
Definition at line 773 of file AlphaISelLowering.cpp.
This web site is hosted by the Computer Science Department at the University of Illinois at Urbana-Champaign.