LLVM API Documentation
#include <XCoreISelLowering.h>


Public Member Functions | |
| XCoreTargetLowering (XCoreTargetMachine &TM) | |
| virtual unsigned | getJumpTableEncoding () const |
| virtual MVT | getScalarShiftAmountTy (EVT LHSTy) const |
| virtual SDValue | LowerOperation (SDValue Op, SelectionDAG &DAG) const |
| LowerOperation - Provide custom lowering hooks for some operations. | |
| virtual void | ReplaceNodeResults (SDNode *N, SmallVectorImpl< SDValue > &Results, SelectionDAG &DAG) const |
| virtual const char * | getTargetNodeName (unsigned Opcode) const |
| getTargetNodeName - This method returns the name of a target specific | |
| virtual MachineBasicBlock * | EmitInstrWithCustomInserter (MachineInstr *MI, MachineBasicBlock *MBB) const |
| virtual bool | isLegalAddressingMode (const AddrMode &AM, Type *Ty) const |
Definition at line 80 of file XCoreISelLowering.h.
| XCoreTargetLowering::XCoreTargetLowering | ( | XCoreTargetMachine & | TM | ) | [explicit] |
Definition at line 66 of file XCoreISelLowering.cpp.
References llvm::ISD::ADD, llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::TargetLoweringBase::addRegisterClass(), llvm::ISD::ADJUST_TRAMPOLINE, llvm::ISD::BlockAddress, llvm::ISD::BR_CC, llvm::ISD::BR_JT, llvm::TargetLoweringBase::computeRegisterProperties(), llvm::ISD::ConstantPool, llvm::ISD::CTLZ_ZERO_UNDEF, llvm::ISD::CTPOP, llvm::ISD::CTTZ_ZERO_UNDEF, llvm::TargetLoweringBase::Custom, llvm::ISD::DYNAMIC_STACKALLOC, llvm::TargetLoweringBase::Expand, llvm::ISD::EXTLOAD, llvm::ISD::GlobalAddress, llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::ISD::INIT_TRAMPOLINE, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::TargetLoweringBase::Legal, llvm::ISD::LOAD, llvm::TargetLoweringBase::MaxStoresPerMemcpy, llvm::TargetLoweringBase::MaxStoresPerMemcpyOptSize, llvm::TargetLoweringBase::MaxStoresPerMemmove, llvm::TargetLoweringBase::MaxStoresPerMemmoveOptSize, llvm::TargetLoweringBase::MaxStoresPerMemset, llvm::TargetLoweringBase::MaxStoresPerMemsetOptSize, llvm::ISD::MULHS, llvm::ISD::MULHU, llvm::MVT::Other, llvm::TargetLoweringBase::Promote, llvm::Sched::RegPressure, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SELECT_CC, llvm::TargetLoweringBase::setBooleanContents(), llvm::TargetLoweringBase::setBooleanVectorContents(), llvm::TargetLoweringBase::setIntDivIsCheap(), llvm::TargetLoweringBase::setLoadExtAction(), llvm::TargetLoweringBase::setMinFunctionAlignment(), llvm::TargetLoweringBase::setOperationAction(), llvm::TargetLoweringBase::setSchedulingPreference(), llvm::TargetLoweringBase::setStackPointerRegisterToSaveRestore(), llvm::TargetLoweringBase::setTargetDAGCombine(), llvm::ISD::SEXTLOAD, llvm::ISD::SHL_PARTS, llvm::ISD::SMUL_LOHI, llvm::ISD::SRA_PARTS, llvm::ISD::SRL_PARTS, llvm::ISD::STACKRESTORE, llvm::ISD::STACKSAVE, llvm::ISD::STORE, llvm::ISD::SUB, llvm::ISD::SUBC, llvm::ISD::SUBE, llvm::ISD::TRAP, llvm::ISD::UMUL_LOHI, llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VAEND, llvm::ISD::VASTART, llvm::TargetLoweringBase::ZeroOrOneBooleanContent, and llvm::ISD::ZEXTLOAD.
| MachineBasicBlock * XCoreTargetLowering::EmitInstrWithCustomInserter | ( | MachineInstr * | MI, |
| MachineBasicBlock * | MBB | ||
| ) | const [virtual] |
Reimplemented from llvm::TargetLowering.
Definition at line 1239 of file XCoreISelLowering.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::addSuccessor(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::MachineFunction::CreateMachineBasicBlock(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), F(), llvm::MCInstrInfo::get(), llvm::MachineBasicBlock::getBasicBlock(), llvm::MachineInstr::getDebugLoc(), llvm::TargetMachine::getInstrInfo(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::TargetLoweringBase::getTargetMachine(), llvm::MachineFunction::insert(), llvm::next(), llvm::PHI, llvm::ISD::SELECT_CC, llvm::MachineBasicBlock::splice(), TII, and llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs().
| unsigned XCoreTargetLowering::getJumpTableEncoding | ( | ) | const [virtual] |
getJumpTableEncoding - Return the entry encoding for a jump table in the current function. The returned value is a member of the MachineJumpTableInfo::JTEntryKind enum.
Reimplemented from llvm::TargetLowering.
Definition at line 296 of file XCoreISelLowering.cpp.
References llvm::MachineJumpTableInfo::EK_Inline.
Reimplemented from llvm::TargetLoweringBase.
Definition at line 87 of file XCoreISelLowering.h.
References llvm::MVT::i32.
| const char * XCoreTargetLowering::getTargetNodeName | ( | unsigned | Opcode | ) | const [virtual] |
getTargetNodeName - This method returns the name of a target specific
Reimplemented from llvm::TargetLowering.
Definition at line 44 of file XCoreISelLowering.cpp.
References llvm::XCoreISD::BL, llvm::XCoreISD::BR_JT, llvm::XCoreISD::BR_JT32, llvm::XCoreISD::CPRelativeWrapper, llvm::XCoreISD::CRC8, llvm::XCoreISD::DPRelativeWrapper, llvm::XCoreISD::LADD, llvm::XCoreISD::LMUL, llvm::XCoreISD::LSUB, llvm::XCoreISD::MACCS, llvm::XCoreISD::MACCU, llvm::XCoreISD::PCRelativeWrapper, llvm::XCoreISD::RETSP, and llvm::XCoreISD::STWSP.
isLegalAddressingMode - Return true if the addressing mode represented by AM is legal for this target, for a load/store of the specified type.
Reimplemented from llvm::TargetLoweringBase.
Definition at line 1540 of file XCoreISelLowering.cpp.
References llvm::TargetLoweringBase::AddrMode::BaseGV, llvm::TargetLoweringBase::AddrMode::BaseOffs, llvm::XCoreTargetMachine::getDataLayout(), llvm::DataLayout::getTypeAllocSize(), llvm::Type::getTypeID(), llvm::TargetLoweringBase::AddrMode::HasBaseReg, isImmUs(), isImmUs2(), isImmUs4(), llvm::TargetLoweringBase::AddrMode::Scale, and llvm::Type::VoidTyID.
| SDValue XCoreTargetLowering::LowerOperation | ( | SDValue | Op, |
| SelectionDAG & | DAG | ||
| ) | const [virtual] |
LowerOperation - Provide custom lowering hooks for some operations.
Reimplemented from llvm::TargetLowering.
Definition at line 170 of file XCoreISelLowering.cpp.
References llvm::ISD::ADD, llvm::ISD::ADJUST_TRAMPOLINE, llvm::ISD::BlockAddress, llvm::ISD::BR_JT, llvm::ISD::ConstantPool, llvm::ISD::FRAMEADDR, llvm::SDValue::getNode(), llvm::SDValue::getOpcode(), llvm::ISD::GlobalAddress, llvm::ISD::INIT_TRAMPOLINE, llvm::ISD::INTRINSIC_WO_CHAIN, llvm_unreachable, llvm::ISD::LOAD, llvm::ISD::SELECT_CC, llvm::ISD::SMUL_LOHI, llvm::ISD::STORE, llvm::ISD::SUB, llvm::ISD::UMUL_LOHI, llvm::ISD::VAARG, and llvm::ISD::VASTART.
| void XCoreTargetLowering::ReplaceNodeResults | ( | SDNode * | N, |
| SmallVectorImpl< SDValue > & | Results, | ||
| SelectionDAG & | DAG | ||
| ) | const [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 198 of file XCoreISelLowering.cpp.
References llvm::ISD::ADD, llvm::SDNode::getOpcode(), llvm_unreachable, llvm::SmallVectorTemplateBase< T, isPodLike >::push_back(), and llvm::ISD::SUB.