LLVM API Documentation

llvm::SDNode Class Reference

#include <SelectionDAGNodes.h>

Inheritance diagram for llvm::SDNode:

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< SDNode
* >::const_iterator 
use_iterator
typedef const SDOperandop_iterator
typedef const MVT::ValueTypevalue_iterator

Public Member Functions

virtual ~SDNode ()
unsigned getOpcode () const
bool isTargetOpcode () const
unsigned getTargetOpcode () const
size_t use_size () const
bool use_empty () const
bool hasOneUse () const
unsigned getNodeDepth () const
use_iterator use_begin () const
use_iterator use_end () const
bool hasNUsesOfValue (unsigned NUses, unsigned Value) const
bool isOnlyUse (SDNode *N) const
bool isOperand (SDNode *N) const
unsigned getNumOperands () const
const SDOperandgetOperand (unsigned Num) const
op_iterator op_begin () const
op_iterator op_end () const
unsigned getNumValues () const
MVT::ValueType getValueType (unsigned ResNo) const
value_iterator value_begin () const
value_iterator value_end () const
const char * getOperationName (const SelectionDAG *G=0) const
void dump () const
void dump (const SelectionDAG *G) const

Static Public Member Functions

static bool classof (const SDNode *)

Protected Member Functions

 SDNode (unsigned NT, MVT::ValueType VT)
 SDNode (unsigned NT, SDOperand Op)
 SDNode (unsigned NT, SDOperand N1, SDOperand N2)
 SDNode (unsigned NT, SDOperand N1, SDOperand N2, SDOperand N3)
 SDNode (unsigned NT, SDOperand N1, SDOperand N2, SDOperand N3, SDOperand N4)
 SDNode (unsigned Opc, const std::vector< SDOperand > &Nodes)
void MorphNodeTo (unsigned Opc)
void setValueTypes (MVT::ValueType VT)
void setValueTypes (MVT::ValueType *List, unsigned NumVal)
void setOperands (SDOperand Op0)
void setOperands (SDOperand Op0, SDOperand Op1)
void setOperands (SDOperand Op0, SDOperand Op1, SDOperand Op2)
void setOperands (SDOperand Op0, SDOperand Op1, SDOperand Op2, SDOperand Op3)
void setOperands (SDOperand Op0, SDOperand Op1, SDOperand Op2, SDOperand Op3, SDOperand Op4)
void setOperands (SDOperand Op0, SDOperand Op1, SDOperand Op2, SDOperand Op3, SDOperand Op4, SDOperand Op5)
void setOperands (SDOperand Op0, SDOperand Op1, SDOperand Op2, SDOperand Op3, SDOperand Op4, SDOperand Op5, SDOperand Op6)
void setOperands (SDOperand Op0, SDOperand Op1, SDOperand Op2, SDOperand Op3, SDOperand Op4, SDOperand Op5, SDOperand Op6, SDOperand Op7)
void addUser (SDNode *User)
void removeUser (SDNode *User)

Static Protected Member Functions

static MVT::ValueTypegetValueTypeList (MVT::ValueType VT)

Friends

struct ilist_traits< SDNode >
class SelectionDAG

Detailed Description

SDNode - Represents one node in the SelectionDAG.

Definition at line 687 of file SelectionDAGNodes.h.


Member Typedef Documentation

typedef std::vector<SDNode*>::const_iterator llvm::SDNode::use_iterator

Definition at line 743 of file SelectionDAGNodes.h.

typedef const SDOperand* llvm::SDNode::op_iterator

Definition at line 766 of file SelectionDAGNodes.h.

typedef const MVT::ValueType* llvm::SDNode::value_iterator

Definition at line 783 of file SelectionDAGNodes.h.


Constructor & Destructor Documentation

virtual llvm::SDNode::~SDNode (  )  [inline, virtual]

Definition at line 720 of file SelectionDAGNodes.h.

References llvm::ISD::DELETED_NODE.

llvm::SDNode::SDNode ( unsigned  NT,
MVT::ValueType  VT 
) [inline, protected]

Definition at line 802 of file SelectionDAGNodes.h.

References getValueTypeList(), Next, and Prev.

llvm::SDNode::SDNode ( unsigned  NT,
SDOperand  Op 
) [inline, protected]

Definition at line 808 of file SelectionDAGNodes.h.

References Next, Op, Prev, and llvm::Use::Val.

llvm::SDNode::SDNode ( unsigned  NT,
SDOperand  N1,
SDOperand  N2 
) [inline, protected]

Definition at line 818 of file SelectionDAGNodes.h.

References getNodeDepth(), Next, Prev, Uses, and llvm::SDOperand::Val.

llvm::SDNode::SDNode ( unsigned  NT,
SDOperand  N1,
SDOperand  N2,
SDOperand  N3 
) [inline, protected]

Definition at line 833 of file SelectionDAGNodes.h.

References getNodeDepth(), Next, Prev, Uses, and llvm::SDOperand::Val.

llvm::SDNode::SDNode ( unsigned  NT,
SDOperand  N1,
SDOperand  N2,
SDOperand  N3,
SDOperand  N4 
) [inline, protected]

Definition at line 854 of file SelectionDAGNodes.h.

References getNodeDepth(), Next, Prev, Uses, and llvm::SDOperand::Val.

llvm::SDNode::SDNode ( unsigned  Opc,
const std::vector< SDOperand > &  Nodes 
) [inline, protected]

Definition at line 878 of file SelectionDAGNodes.h.

References getNodeDepth(), Next, Prev, Uses, and llvm::SDOperand::Val.


Member Function Documentation

unsigned llvm::SDNode::getOpcode (  )  const [inline]

Definition at line 728 of file SelectionDAGNodes.h.

Referenced by llvm::VTSDNode::classof(), llvm::CondCodeSDNode::classof(), llvm::ExternalSymbolSDNode::classof(), llvm::RegisterSDNode::classof(), llvm::SrcValueSDNode::classof(), llvm::BasicBlockSDNode::classof(), llvm::ConstantPoolSDNode::classof(), llvm::JumpTableSDNode::classof(), llvm::FrameIndexSDNode::classof(), llvm::GlobalAddressSDNode::classof(), llvm::ConstantFPSDNode::classof(), llvm::ConstantSDNode::classof(), llvm::StringSDNode::classof(), llvm::PPCHazardRecognizer970::EmitInstruction(), llvm::ScheduleDAG::EmitNode(), FindCallEndFromCallStart(), FindCallStartFromCall(), FindCallStartFromCallEnd(), llvm::PPCHazardRecognizer970::getHazardType(), llvm::SDOperand::getOpcode(), getOperationName(), getRegClass(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), isCommutedMOVL(), isCommutedSHUFP(), isCopyFromLiveIn(), isFloater(), isGAPlusOffset(), isInt32Immediate(), isInt64Immediate(), isIntS16Immediate(), isInvertibleForFree(), llvm::X86::isMOVHLPSMask(), llvm::X86::isMOVHPMask(), llvm::X86::isMOVLMask(), llvm::X86::isMOVLPMask(), llvm::X86::isMOVSHDUPMask(), llvm::X86::isMOVSLDUPMask(), isOpcWithIntImmediate(), llvm::X86::isPSHUFDMask(), isPSHUFHW_PSHUFLWMask(), llvm::X86::isPSHUFHWMask(), llvm::X86::isPSHUFLWMask(), isRotateAndMask(), isScalarLoadToVector(), llvm::X86::isSHUFPMask(), llvm::X86::isSplatMask(), isSplatMask(), llvm::PPC::isSplatShuffleMask(), isSplatVector(), llvm::X86::isUNPCKHMask(), llvm::X86::isUNPCKL_v_undef_Mask(), llvm::X86::isUNPCKLMask(), isVMerge(), llvm::PPC::isVSLDOIShuffleMask(), llvm::X86TargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), and ShouldXformToMOVLP().

bool llvm::SDNode::isTargetOpcode (  )  const [inline]

Definition at line 729 of file SelectionDAGNodes.h.

References llvm::ISD::BUILTIN_OP_END.

Referenced by llvm::ScheduleDAG::BuildSchedUnits(), llvm::ScheduleDAG::EmitNode(), getRegClass(), getTargetOpcode(), isFloater(), and llvm::SDOperand::isTargetOpcode().

unsigned llvm::SDNode::getTargetOpcode (  )  const [inline]

Definition at line 730 of file SelectionDAGNodes.h.

References llvm::ISD::BUILTIN_OP_END, and isTargetOpcode().

Referenced by llvm::ScheduleDAG::BuildSchedUnits(), llvm::ScheduleDAG::EmitNode(), getRegClass(), and llvm::SDOperand::getTargetOpcode().

size_t llvm::SDNode::use_size (  )  const [inline]

Definition at line 735 of file SelectionDAGNodes.h.

Referenced by hasNUsesOfValue().

bool llvm::SDNode::use_empty (  )  const [inline]

Definition at line 736 of file SelectionDAGNodes.h.

Referenced by llvm::SelectionDAG::DeleteNode(), FindCallEndFromCallStart(), llvm::SelectionDAG::RemoveDeadNodes(), and llvm::SelectionDAG::ReplaceAllUsesWith().

bool llvm::SDNode::hasOneUse (  )  const [inline]

Definition at line 737 of file SelectionDAGNodes.h.

Referenced by DumpNodes(), isInvertibleForFree(), isOneUseSetCC(), and llvm::PPCTargetLowering::PerformDAGCombine().

unsigned llvm::SDNode::getNodeDepth (  )  const [inline]

getNodeDepth - Return the distance from this node to the leaves in the graph. The leaves have a depth of 1.

Definition at line 741 of file SelectionDAGNodes.h.

Referenced by llvm::SDOperand::getNodeDepth(), and SDNode().

use_iterator llvm::SDNode::use_begin (  )  const [inline]

Definition at line 744 of file SelectionDAGNodes.h.

Referenced by llvm::ScheduleDAG::EmitNode(), isOnlyUse(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), and llvm::SelectionDAG::ReplaceAllUsesWith().

use_iterator llvm::SDNode::use_end (  )  const [inline]

Definition at line 745 of file SelectionDAGNodes.h.

Referenced by llvm::ScheduleDAG::EmitNode(), isOnlyUse(), llvm::PPCTargetLowering::PerformDAGCombine(), and llvm::SelectionDAG::ReplaceAllUsesOfValueWith().

bool SDNode::hasNUsesOfValue ( unsigned  NUses,
unsigned  Value 
) const

hasNUsesOfValue - Return true if there are exactly NUSES uses of the indicated value. This method ignores uses of other values defined by this operation.

Definition at line 2721 of file SelectionDAG.cpp.

References E, getNumValues(), and use_size().

Referenced by llvm::SDOperand::hasOneUse().

bool SDNode::isOnlyUse ( SDNode N  )  const

Definition at line 2752 of file SelectionDAG.cpp.

References E, use_begin(), and use_end().

bool SDNode::isOperand ( SDNode N  )  const

Definition at line 2773 of file SelectionDAG.cpp.

References NumOperands, OperandList, and llvm::SDOperand::Val.

unsigned llvm::SDNode::getNumOperands (  )  const [inline]

getNumOperands - Return the number of values used by this operation.

Definition at line 760 of file SelectionDAGNodes.h.

Referenced by llvm::ScheduleDAG::BuildSchedUnits(), ComputeTopDownOrdering(), CountOperands(), dump(), DumpNodes(), llvm::ScheduleDAG::EmitNode(), llvm::SDNodeIterator::end(), llvm::PPC::get_VSPLTI_elt(), GetConstantBuildVectorBits(), llvm::SDOperand::getNumOperands(), llvm::X86::getShuffleSHUFImmediate(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), isCopyFromLiveIn(), llvm::X86::isMOVHLPSMask(), llvm::X86::isMOVHPMask(), llvm::X86::isMOVLPMask(), llvm::X86::isMOVSHDUPMask(), llvm::X86::isMOVSLDUPMask(), llvm::SDOperand::isOperand(), llvm::X86::isPSHUFDMask(), isPSHUFHW_PSHUFLWMask(), llvm::X86::isPSHUFHWMask(), llvm::X86::isPSHUFLWMask(), isRotateAndMask(), llvm::X86::isSplatMask(), isSplatMask(), llvm::PPC::isSplatShuffleMask(), isSplatVector(), llvm::X86::isUNPCKL_v_undef_Mask(), isVMerge(), llvm::PPC::isVSLDOIShuffleMask(), ShouldXformToMOVHLPS(), ShouldXformToMOVLP(), and llvm::SelectionDAG::UpdateNodeOperands().

const SDOperand& llvm::SDNode::getOperand ( unsigned  Num  )  const [inline]

Definition at line 762 of file SelectionDAGNodes.h.

Referenced by llvm::ScheduleDAG::BuildSchedUnits(), llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), CountOperands(), dump(), DumpNodes(), llvm::PPCHazardRecognizer970::EmitInstruction(), llvm::ScheduleDAG::EmitNode(), FindCallStartFromCall(), FindCallStartFromCallEnd(), llvm::PPC::get_VSPLTI_elt(), GetConstantBuildVectorBits(), getDefUsePredecessor(), llvm::PPCHazardRecognizer970::getHazardType(), llvm::SelectionDAG::getNode(), llvm::SDOperand::getOperand(), getOperationName(), getRegClass(), llvm::X86::getShufflePSHUFHWImmediate(), llvm::X86::getShufflePSHUFLWImmediate(), getShuffleScalarElt(), llvm::X86::getShuffleSHUFImmediate(), llvm::HandleSDNode::getValue(), llvm::PPC::getVSPLTImmediate(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), isConsecutiveLoad(), isCopyFromLiveIn(), isGAPlusOffset(), llvm::X86::isMOVHLPSMask(), llvm::X86::isMOVHPMask(), llvm::X86::isMOVLPMask(), llvm::X86::isMOVSHDUPMask(), llvm::X86::isMOVSLDUPMask(), isOpcWithIntImmediate(), llvm::SDOperand::isOperand(), llvm::X86::isPSHUFDMask(), isPSHUFHW_PSHUFLWMask(), llvm::X86::isPSHUFHWMask(), llvm::X86::isPSHUFLWMask(), isRotateAndMask(), isScalarLoadToVector(), isSplatMask(), llvm::PPC::isSplatShuffleMask(), isSplatVector(), llvm::X86::isUNPCKL_v_undef_Mask(), isVMerge(), llvm::PPC::isVPKUHUMShuffleMask(), llvm::PPC::isVPKUWUMShuffleMask(), llvm::PPC::isVSLDOIShuffleMask(), llvm::SDNodeIterator::operator *(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformShuffleCombine(), ShouldXformToMOVHLPS(), ShouldXformToMOVLP(), and llvm::SelectionDAG::UpdateNodeOperands().

op_iterator llvm::SDNode::op_begin (  )  const [inline]

Definition at line 767 of file SelectionDAGNodes.h.

Referenced by isCommutedMOVL(), isCommutedSHUFP(), llvm::X86::isMOVLMask(), llvm::X86::isSHUFPMask(), llvm::X86::isUNPCKHMask(), llvm::X86::isUNPCKLMask(), and MorphNodeTo().

op_iterator llvm::SDNode::op_end (  )  const [inline]

Definition at line 768 of file SelectionDAGNodes.h.

Referenced by isCommutedMOVL(), isCommutedSHUFP(), llvm::X86::isMOVLMask(), llvm::X86::isSHUFPMask(), llvm::X86::isUNPCKHMask(), llvm::X86::isUNPCKLMask(), MorphNodeTo(), llvm::SelectionDAGLowering::visitExtractElement(), llvm::SelectionDAGLowering::visitInsertElement(), and llvm::SelectionDAGLowering::visitShuffleVector().

unsigned llvm::SDNode::getNumValues (  )  const [inline]

getNumValues - Return the number of values defined/returned by this operator.

Definition at line 774 of file SelectionDAGNodes.h.

Referenced by llvm::ScheduleDAG::BuildSchedUnits(), CountResults(), dump(), getNumResults(), hasNUsesOfValue(), llvm::TargetLowering::LowerArguments(), llvm::TargetLowering::LowerCallTo(), llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), and llvm::SelectionDAGLowering::visitTargetIntrinsic().

MVT::ValueType llvm::SDNode::getValueType ( unsigned  ResNo  )  const [inline]

getValueType - Return the type of a specified result.

Definition at line 778 of file SelectionDAGNodes.h.

Referenced by llvm::ScheduleDAG::BuildSchedUnits(), llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), llvm::TargetLowering::ComputeMaskedBits(), CountResults(), dump(), llvm::ScheduleDAG::EmitNode(), getNumResults(), getRegClass(), getShuffleScalarElt(), llvm::ConstantSDNode::getSignExtended(), llvm::SDOperand::getValueType(), llvm::ConstantSDNode::isAllOnesValue(), isInt32Immediate(), isInt64Immediate(), isRotateAndMask(), llvm::PPCTargetLowering::PerformDAGCombine(), and PerformShuffleCombine().

value_iterator llvm::SDNode::value_begin (  )  const [inline]

Definition at line 784 of file SelectionDAGNodes.h.

value_iterator llvm::SDNode::value_end (  )  const [inline]

Definition at line 785 of file SelectionDAGNodes.h.

const char * SDNode::getOperationName ( const SelectionDAG G = 0  )  const

getOperationName - Return the opcode of this operation for printing.

Definition at line 2780 of file SelectionDAG.cpp.

References llvm::ISD::ADD, llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::ISD::AND, llvm::ISD::ANY_EXTEND, llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::ISD::BasicBlock, llvm::ISD::BIT_CONVERT, llvm::ISD::BR, llvm::ISD::BR_CC, llvm::ISD::BRCOND, llvm::ISD::BRIND, llvm::ISD::BSWAP, llvm::ISD::BUILD_PAIR, llvm::ISD::BUILD_VECTOR, llvm::ISD::BUILTIN_OP_END, llvm::ISD::CALL, llvm::ISD::CALLSEQ_END, llvm::ISD::CALLSEQ_START, llvm::ISD::CONDCODE, llvm::ISD::Constant, llvm::ISD::ConstantFP, llvm::ISD::ConstantPool, llvm::ISD::CopyFromReg, llvm::ISD::CopyToReg, llvm::ISD::CTLZ, llvm::ISD::CTPOP, llvm::ISD::CTTZ, llvm::ISD::DEBUG_LABEL, llvm::ISD::DEBUG_LOC, llvm::ISD::DYNAMIC_STACKALLOC, llvm::ISD::EntryToken, llvm::ISD::ExternalSymbol, llvm::ISD::EXTLOAD, llvm::ISD::EXTRACT_ELEMENT, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::ISD::FABS, llvm::ISD::FADD, llvm::ISD::FCOPYSIGN, llvm::ISD::FCOS, llvm::ISD::FDIV, llvm::ISD::FMUL, llvm::ISD::FNEG, llvm::ISD::FORMAL_ARGUMENTS, llvm::ISD::FP_EXTEND, llvm::ISD::FP_ROUND, llvm::ISD::FP_ROUND_INREG, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_UINT, llvm::ISD::FrameIndex, llvm::ISD::FREM, llvm::ISD::FSIN, llvm::ISD::FSQRT, llvm::ISD::FSUB, G, llvm::Intrinsic::getName(), llvm::TargetInstrInfo::getName(), getOpcode(), getOperand(), llvm::TargetLowering::getTargetNodeName(), llvm::ISD::GlobalAddress, llvm::ISD::HANDLENODE, llvm::ISD::INLINEASM, llvm::ISD::INSERT_VECTOR_ELT, llvm::ISD::INTRINSIC_VOID, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::ISD::JumpTable, llvm::ISD::LOAD, llvm::ISD::LOCATION, llvm::ISD::MEMCPY, llvm::ISD::MEMMOVE, llvm::ISD::MEMSET, llvm::ISD::MERGE_VALUES, llvm::ISD::MUL, llvm::ISD::MULHS, llvm::ISD::MULHU, Name, llvm::ISD::OR, llvm::ISD::PCMARKER, llvm::ISD::READCYCLECOUNTER, llvm::ISD::Register, llvm::ISD::RET, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SCALAR_TO_VECTOR, llvm::ISD::SDIV, llvm::ISD::SELECT, llvm::ISD::SELECT_CC, llvm::ISD::SETCC, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, llvm::ISD::SETUO, llvm::ISD::SEXTLOAD, llvm::ISD::SHL, llvm::ISD::SHL_PARTS, llvm::ISD::SIGN_EXTEND, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SINT_TO_FP, llvm::ISD::SRA, llvm::ISD::SRA_PARTS, llvm::ISD::SRCVALUE, llvm::ISD::SREM, llvm::ISD::SRL_PARTS, llvm::ISD::STACKRESTORE, llvm::ISD::STACKSAVE, llvm::ISD::STORE, llvm::ISD::STRING, llvm::ISD::SUB, llvm::ISD::SUBC, llvm::ISD::SUBE, llvm::ISD::TargetConstant, llvm::ISD::TargetConstantFP, llvm::ISD::TargetConstantPool, llvm::ISD::TargetExternalSymbol, llvm::ISD::TargetFrameIndex, llvm::ISD::TargetGlobalAddress, llvm::ISD::TargetJumpTable, TII, TLI, llvm::ISD::TokenFactor, llvm::ISD::TRUNCATE, llvm::ISD::TRUNCSTORE, llvm::ISD::UDIV, llvm::ISD::UINT_TO_FP, llvm::ISD::UNDEF, llvm::ISD::UREM, llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VADD, llvm::ISD::VAEND, llvm::ISD::VALUETYPE, llvm::ISD::VAND, llvm::ISD::VASTART, llvm::ISD::VBIT_CONVERT, llvm::ISD::VBUILD_VECTOR, llvm::ISD::VECTOR_SHUFFLE, llvm::ISD::VEXTRACT_VECTOR_ELT, llvm::ISD::VINSERT_VECTOR_ELT, llvm::ISD::VLOAD, llvm::ISD::VMUL, llvm::ISD::VOR, llvm::ISD::VSDIV, llvm::ISD::VSELECT, llvm::ISD::VSUB, llvm::ISD::VUDIV, llvm::ISD::VVECTOR_SHUFFLE, llvm::ISD::VXOR, llvm::ISD::XOR, llvm::ISD::ZERO_EXTEND, and llvm::ISD::ZEXTLOAD.

Referenced by dump().

void SDNode::dump (  )  const

Definition at line 2997 of file SelectionDAG.cpp.

Referenced by llvm::SUnit::dump(), DumpNodes(), and llvm::ScheduleDAG::EmitNode().

void SDNode::dump ( const SelectionDAG G  )  const

Definition at line 2998 of file SelectionDAG.cpp.

References CP, G, llvm::Value::getName(), getNumOperands(), getNumValues(), getOperand(), getOperationName(), getValueType(), llvm::MVT::getValueTypeString(), llvm::MRegisterInfo::isPhysicalRegister(), M, llvm::MVT::Other, R, Val, and llvm::WriteAsOperand().

static bool llvm::SDNode::classof ( const SDNode  )  [inline, static]

Reimplemented in llvm::StringSDNode, llvm::ConstantSDNode, llvm::ConstantFPSDNode, llvm::GlobalAddressSDNode, llvm::FrameIndexSDNode, llvm::JumpTableSDNode, llvm::ConstantPoolSDNode, llvm::BasicBlockSDNode, llvm::SrcValueSDNode, llvm::RegisterSDNode, llvm::ExternalSymbolSDNode, llvm::CondCodeSDNode, and llvm::VTSDNode.

Definition at line 793 of file SelectionDAGNodes.h.

MVT::ValueType * SDNode::getValueTypeList ( MVT::ValueType  VT  )  [static, protected]

getValueTypeList - Return a pointer to the specified value type.

Definition at line 2712 of file SelectionDAG.cpp.

References llvm::MVT::LAST_VALUETYPE.

Referenced by SDNode(), and setValueTypes().

void llvm::SDNode::MorphNodeTo ( unsigned  Opc  )  [inline, protected]

MorphNodeTo - This clears the return value and operands list, and sets the opcode of the node to the specified value. This should only be used by the SelectionDAG class.

Definition at line 898 of file SelectionDAGNodes.h.

References E, op_begin(), and op_end().

Referenced by llvm::SelectionDAG::SelectNodeTo(), and llvm::HandleSDNode::~HandleSDNode().

void llvm::SDNode::setValueTypes ( MVT::ValueType  VT  )  [inline, protected]

Definition at line 912 of file SelectionDAGNodes.h.

References getValueTypeList().

Referenced by llvm::SelectionDAG::getNode(), and llvm::SelectionDAG::SelectNodeTo().

void llvm::SDNode::setValueTypes ( MVT::ValueType List,
unsigned  NumVal 
) [inline, protected]

Definition at line 917 of file SelectionDAGNodes.h.

void llvm::SDNode::setOperands ( SDOperand  Op0  )  [inline, protected]

Definition at line 923 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

Referenced by llvm::SelectionDAG::SelectNodeTo().

void llvm::SDNode::setOperands ( SDOperand  Op0,
SDOperand  Op1 
) [inline, protected]

Definition at line 930 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

void llvm::SDNode::setOperands ( SDOperand  Op0,
SDOperand  Op1,
SDOperand  Op2 
) [inline, protected]

Definition at line 938 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

void llvm::SDNode::setOperands ( SDOperand  Op0,
SDOperand  Op1,
SDOperand  Op2,
SDOperand  Op3 
) [inline, protected]

Definition at line 948 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

void llvm::SDNode::setOperands ( SDOperand  Op0,
SDOperand  Op1,
SDOperand  Op2,
SDOperand  Op3,
SDOperand  Op4 
) [inline, protected]

Definition at line 959 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

void llvm::SDNode::setOperands ( SDOperand  Op0,
SDOperand  Op1,
SDOperand  Op2,
SDOperand  Op3,
SDOperand  Op4,
SDOperand  Op5 
) [inline, protected]

Definition at line 973 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

void llvm::SDNode::setOperands ( SDOperand  Op0,
SDOperand  Op1,
SDOperand  Op2,
SDOperand  Op3,
SDOperand  Op4,
SDOperand  Op5,
SDOperand  Op6 
) [inline, protected]

Definition at line 988 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

void llvm::SDNode::setOperands ( SDOperand  Op0,
SDOperand  Op1,
SDOperand  Op2,
SDOperand  Op3,
SDOperand  Op4,
SDOperand  Op5,
SDOperand  Op6,
SDOperand  Op7 
) [inline, protected]

Definition at line 1005 of file SelectionDAGNodes.h.

References Uses, and llvm::SDOperand::Val.

void llvm::SDNode::addUser ( SDNode User  )  [inline, protected]

Definition at line 1024 of file SelectionDAGNodes.h.

References User.

Referenced by llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), and llvm::SelectionDAG::UpdateNodeOperands().

void llvm::SDNode::removeUser ( SDNode User  )  [inline, protected]

Definition at line 1027 of file SelectionDAGNodes.h.

References User.

Referenced by llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), and llvm::SelectionDAG::UpdateNodeOperands().


Friends And Related Function Documentation

friend struct ilist_traits< SDNode > [friend]

Definition at line 711 of file SelectionDAGNodes.h.

friend class SelectionDAG [friend]

Reimplemented in llvm::StringSDNode, llvm::ConstantSDNode, llvm::ConstantFPSDNode, llvm::GlobalAddressSDNode, llvm::FrameIndexSDNode, llvm::JumpTableSDNode, llvm::ConstantPoolSDNode, llvm::BasicBlockSDNode, llvm::SrcValueSDNode, llvm::RegisterSDNode, llvm::ExternalSymbolSDNode, llvm::CondCodeSDNode, and llvm::VTSDNode.

Definition at line 796 of file SelectionDAGNodes.h.


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