LLVM API Documentation

llvm::XCoreTargetLowering Class Reference

#include <XCoreISelLowering.h>

Inheritance diagram for llvm::XCoreTargetLowering:
[legend]
Collaboration diagram for llvm::XCoreTargetLowering:
[legend]

List of all members.

Public Member Functions

 XCoreTargetLowering (XCoreTargetMachine &TM)
virtual SDValue LowerOperation (SDValue Op, SelectionDAG &DAG)
 LowerOperation - Provide custom lowering hooks for some operations.
virtual void ReplaceNodeResults (SDNode *N, SmallVectorImpl< SDValue > &Results, SelectionDAG &DAG)
virtual const char * getTargetNodeName (unsigned Opcode) const
 getTargetNodeName - This method returns the name of a target specific
virtual MachineBasicBlock * EmitInstrWithCustomInserter (MachineInstr *MI, MachineBasicBlock *MBB)
virtual bool isLegalAddressingMode (const AddrMode &AM, const Type *Ty) const


Detailed Description

Definition at line 62 of file XCoreISelLowering.h.


Constructor & Destructor Documentation

XCoreTargetLowering::XCoreTargetLowering ( XCoreTargetMachine &  TM  )  [explicit]

Definition at line 55 of file XCoreISelLowering.cpp.

References llvm::ISD::ADD, llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::TargetLowering::addRegisterClass(), llvm::ISD::BR_CC, llvm::ISD::BR_JT, llvm::TargetLowering::computeRegisterProperties(), llvm::ISD::ConstantPool, llvm::ISD::CTPOP, llvm::TargetLowering::Custom, llvm::ISD::DBG_STOPPOINT, llvm::ISD::DEBUG_LOC, llvm::ISD::DYNAMIC_STACKALLOC, llvm::TargetLowering::Expand, llvm::TargetLowering::Extend, llvm::ISD::EXTLOAD, llvm::ISD::GlobalAddress, llvm::ISD::GlobalTLSAddress, llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i64, llvm::MVT::i8, llvm::XCoreSubtarget::isXS1A(), llvm::ISD::JumpTable, llvm::TargetLowering::Legal, llvm::ISD::MULHS, llvm::ISD::MULHU, llvm::MVT::Other, llvm::TargetLowering::Promote, llvm::ISD::RET, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::TargetLowering::SchedulingForRegPressure, llvm::ISD::SELECT_CC, llvm::TargetLowering::setBooleanContents(), llvm::TargetLowering::setIntDivIsCheap(), llvm::TargetLowering::setLoadExtAction(), llvm::TargetLowering::setOperationAction(), llvm::TargetLowering::setSchedulingPreference(), llvm::TargetLowering::setShiftAmountFlavor(), llvm::TargetLowering::setShiftAmountType(), llvm::TargetLowering::setStackPointerRegisterToSaveRestore(), 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::SUB, llvm::ISD::SUBC, llvm::ISD::SUBE, llvm::ISD::TRAP, llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VAEND, llvm::ISD::VASTART, llvm::TargetLowering::ZeroOrOneBooleanContent, and llvm::ISD::ZEXTLOAD.


Member Function Documentation

SDValue XCoreTargetLowering::LowerOperation ( SDValue  Op,
SelectionDAG &  DAG 
) [virtual]

void XCoreTargetLowering::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.

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 176 of file XCoreISelLowering.cpp.

References llvm::ISD::ADD, llvm::SDNode::getOpcode(), llvm::SmallVectorImpl< T >::push_back(), and llvm::ISD::SUB.

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 41 of file XCoreISelLowering.cpp.

References llvm::XCoreISD::BL, llvm::XCoreISD::CPRelativeWrapper, llvm::XCoreISD::DPRelativeWrapper, llvm::XCoreISD::PCRelativeWrapper, llvm::XCoreISD::RETSP, and llvm::XCoreISD::STWSP.

MachineBasicBlock * XCoreTargetLowering::EmitInstrWithCustomInserter ( MachineInstr *  MI,
MachineBasicBlock *  MBB 
) [virtual]

bool XCoreTargetLowering::isLegalAddressingMode ( const AddrMode &  AM,
const Type *  Ty 
) const [virtual]

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::TargetLowering.

Definition at line 841 of file XCoreISelLowering.cpp.

References llvm::TargetLowering::AddrMode::BaseGV, llvm::TargetLowering::AddrMode::BaseOffs, llvm::MVT::getSimpleVT(), llvm::TargetLowering::getValueType(), llvm::TargetLowering::AddrMode::HasBaseReg, llvm::MVT::i1, llvm::MVT::i16, llvm::MVT::i32, llvm::MVT::i8, isImmUs(), isImmUs2(), isImmUs4(), and llvm::TargetLowering::AddrMode::Scale.


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