LLVM API Documentation

llvm::SDNode Class Reference

#include <SelectionDAGNodes.h>

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

List of all members.

Public Types

typedef SDUse * op_iterator
typedef const MVT * value_iterator

Public Member Functions

unsigned getOpcode () const
bool isTargetOpcode () const
bool isMachineOpcode () const
unsigned getMachineOpcode () const
bool use_empty () const
bool hasOneUse () const
size_t use_size () const
int getNodeId () const
void setNodeId (int Id)
 setNodeId - Set unique node id.
const DebugLoc getDebugLoc () const
 getDebugLoc - Return the source location info.
void setDebugLoc (const DebugLoc dl)
use_iterator use_begin () const
bool hasNUsesOfValue (unsigned NUses, unsigned Value) const
bool hasAnyUseOfValue (unsigned Value) const
bool isOnlyUserOf (SDNode *N) const
bool isOperandOf (SDNode *N) const
bool isPredecessorOf (SDNode *N) const
unsigned getNumOperands () const
uint64_t getConstantOperandVal (unsigned Num) const
const SDValue & getOperand (unsigned Num) const
op_iterator op_begin () const
op_iterator op_end () const
SDVTList getVTList () const
SDNode * getFlaggedNode () const
const SDNode * getFlaggedMachineNode () const
unsigned getNumValues () const
MVT getValueType (unsigned ResNo) const
unsigned getValueSizeInBits (unsigned ResNo) const
value_iterator value_begin () const
value_iterator value_end () const
std::string getOperationName (const SelectionDAG *G=0) const
void print (raw_ostream &OS, const SelectionDAG *G=0) const
void dump () const
void dump (const SelectionDAG *G) const
void Profile (FoldingSetNodeID &ID) const
void addUse (SDUse &U)

Static Public Member Functions

static use_iterator use_end ()
static const char * getIndexedModeName (ISD::MemIndexedMode AM)
static bool classof (const SDNode *)

Protected Member Functions

 SDNode (unsigned Opc, SDVTList VTs, const SDValue *Ops, unsigned NumOps)
 SDNode (unsigned Opc, SDVTList VTs)
 SDNode (unsigned Opc, const DebugLoc dl, SDVTList VTs, const SDValue *Ops, unsigned NumOps)
 SDNode (unsigned Opc, const DebugLoc dl, SDVTList VTs)
void InitOperands (SDUse *Ops, const SDValue &Op0)
 InitOperands - Initialize the operands list of this with 1 operand.
void InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1)
 InitOperands - Initialize the operands list of this with 2 operands.
void InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2)
 InitOperands - Initialize the operands list of this with 3 operands.
void InitOperands (SDUse *Ops, const SDValue &Op0, const SDValue &Op1, const SDValue &Op2, const SDValue &Op3)
 InitOperands - Initialize the operands list of this with 4 operands.
void InitOperands (SDUse *Ops, const SDValue *Vals, unsigned N)
 InitOperands - Initialize the operands list of this with N operands.
void DropOperands ()

Static Protected Member Functions

static SDVTList getSDVTList (MVT VT)

Protected Attributes

unsigned short SubclassData: 15

Friends

class SelectionDAG
struct ilist_traits< SDNode >

Classes

class  use_iterator


Detailed Description

SDNode - Represents one node in the SelectionDAG.

Definition at line 1073 of file SelectionDAGNodes.h.


Member Typedef Documentation

Definition at line 1272 of file SelectionDAGNodes.h.

Definition at line 1324 of file SelectionDAGNodes.h.


Constructor & Destructor Documentation

llvm::SDNode::SDNode ( unsigned  Opc,
SDVTList  VTs,
const SDValue *  Ops,
unsigned  NumOps 
) [inline, protected]

The constructors that supply DebugLoc explicitly should be preferred for new code.

Definition at line 1354 of file SelectionDAGNodes.h.

References llvm::SDUse::setInitial(), and llvm::SDUse::setUser().

llvm::SDNode::SDNode ( unsigned  Opc,
SDVTList  VTs 
) [inline, protected]

This constructor adds no operands itself; operands can be set later with InitOperands.

Definition at line 1370 of file SelectionDAGNodes.h.

llvm::SDNode::SDNode ( unsigned  Opc,
const DebugLoc  dl,
SDVTList  VTs,
const SDValue *  Ops,
unsigned  NumOps 
) [inline, protected]

The next two constructors specify DebugLoc explicitly; the intent is that they will replace the above two over time, and eventually the ones above can be removed.

Definition at line 1379 of file SelectionDAGNodes.h.

References llvm::SDUse::setInitial(), and llvm::SDUse::setUser().

llvm::SDNode::SDNode ( unsigned  Opc,
const DebugLoc  dl,
SDVTList  VTs 
) [inline, protected]

This constructor adds no operands itself; operands can be set later with InitOperands.

Definition at line 1395 of file SelectionDAGNodes.h.


Member Function Documentation

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

getOpcode - Return the SelectionDAG opcode value for this node. For pre-isel nodes (those for which isMachineOpcode returns false), these are the opcode values in the ISD and <target>ISD namespaces. For post-isel opcodes, see getMachineOpcode.

Definition at line 1125 of file SelectionDAGNodes.h.

Referenced by AddNodeIDCustom(), AddNodeIDNode(), CheckForPhysRegDependency(), llvm::StoreSDNode::classof(), llvm::LoadSDNode::classof(), llvm::LSBaseSDNode::classof(), llvm::VTSDNode::classof(), llvm::CallSDNode::classof(), llvm::ARG_FLAGSSDNode::classof(), llvm::CvtRndSatSDNode::classof(), llvm::CondCodeSDNode::classof(), llvm::ExternalSymbolSDNode::classof(), llvm::LabelSDNode::classof(), llvm::DbgStopPointSDNode::classof(), llvm::RegisterSDNode::classof(), llvm::MemOperandSDNode::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::MemIntrinsicSDNode::classof(), llvm::AtomicSDNode::classof(), llvm::MemSDNode::classof(), combineSelectAndUse(), doNotCSE(), EltsFromConsecutiveLoads(), llvm::PPCHazardRecognizer970::EmitInstruction(), llvm::ScheduleDAGSDNodes::EmitNode(), ExpandSRx(), ExtendUsesToFormExtLoad(), FindCallEndFromCallStart(), FindCallStartFromCall(), FindCallStartFromCallEnd(), llvm::SPUHazardRecognizer::getHazardType(), llvm::PPCHazardRecognizer970::getHazardType(), getIndexedAddressParts(), llvm::SelectionDAG::getNode(), getOperationName(), hasCopyToRegUse(), llvm::PPC::isAllNegativeZeroVector(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), isCommutedMOVL(), isCommutedSHUFP(), isCopyFromLiveIn(), llvm::ISD::isDebugLabel(), llvm::X86TargetLowering::isGAPlusOffset(), llvm::TargetLowering::isGAPlusOffset(), isI16IntU10Immediate(), isInt32Immediate(), isInt64Immediate(), isIntS16Immediate(), llvm::X86::isMOVDDUPMask(), llvm::X86::isMOVHLPS_v_undef_Mask(), llvm::X86::isMOVHLPSMask(), llvm::X86::isMOVHPMask(), llvm::X86::isMOVLMask(), llvm::X86::isMOVLPMask(), llvm::X86::isMOVSHDUPMask(), llvm::X86::isMOVSLDUPMask(), isOpcWithIntImmediate(), llvm::ScheduleDAGSDNodes::isPassiveNode(), llvm::X86::isPSHUFDMask(), isPSHUFHW_PSHUFLWMask(), llvm::X86::isPSHUFHWMask(), llvm::X86::isPSHUFLWMask(), isScalarLoadToVector(), llvm::ISD::isScalarToVector(), llvm::X86::isSHUFPMask(), llvm::X86::isSplatLoMask(), llvm::X86::isSplatMask(), isSplatMask(), llvm::PPC::isSplatShuffleMask(), isSplatVector(), isUndefShuffle(), llvm::X86::isUNPCKH_v_undef_Mask(), llvm::X86::isUNPCKHMask(), llvm::X86::isUNPCKL_v_undef_Mask(), llvm::X86::isUNPCKLMask(), isVMerge(), llvm::PPC::isVSLDOIShuffleMask(), isZeroShuffle(), LowerByteImmed(), llvm::AlphaTargetLowering::LowerOperation(), LowerSCALAR_TO_VECTOR(), PerformBuildVectorCombine(), llvm::X86TargetLowering::PerformDAGCombine(), llvm::SPUTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::PIC16TargetLowering::PerformDAGCombine(), llvm::ARMTargetLowering::PerformDAGCombine(), PerformFORCombine(), PerformShiftCombine(), PerformSTORECombine(), print(), llvm::XCoreTargetLowering::ReplaceNodeResults(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::SPUTargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::PIC16TargetLowering::ReplaceNodeResults(), llvm::ARMTargetLowering::ReplaceNodeResults(), llvm::AlphaTargetLowering::ReplaceNodeResults(), and llvm::DAGTypeLegalizer::run().

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

isTargetOpcode - Test if this node has a target-specific opcode (in the <target>ISD namespace).

Definition at line 1129 of file SelectionDAGNodes.h.

References llvm::ISD::BUILTIN_OP_END.

Referenced by llvm::MemIntrinsicSDNode::classof(), llvm::MemSDNode::classof(), and print().

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

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

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

use_empty - Return true if there are no uses of this node.

Definition at line 1145 of file SelectionDAGNodes.h.

Referenced by FindCallEndFromCallStart(), hasOneUse(), llvm::TargetLowering::LowerArguments(), llvm::SelectionDAG::MorphNodeTo(), and llvm::SelectionDAG::RemoveDeadNodes().

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

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

use_size - Return the number of uses of this node. This method takes time proportional to the number of uses.

Definition at line 1156 of file SelectionDAGNodes.h.

References use_begin(), and use_end().

int llvm::SDNode::getNodeId (  )  const [inline]

void llvm::SDNode::setNodeId ( int  Id  )  [inline]

setNodeId - Set unique node id.

Definition at line 1163 of file SelectionDAGNodes.h.

Referenced by llvm::SelectionDAG::AssignTopologicalOrder(), and llvm::DAGTypeLegalizer::run().

const DebugLoc llvm::SDNode::getDebugLoc (  )  const [inline]

void llvm::SDNode::setDebugLoc ( const DebugLoc  dl  )  [inline]

setDebugLoc - Set source location info. Try to avoid this, putting it in the constructor is preferable.

Definition at line 1170 of file SelectionDAGNodes.h.

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

static use_iterator llvm::SDNode::use_end (  )  [inline, static]

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.

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 5435 of file SelectionDAG.cpp.

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

Referenced by llvm::PPCTargetLowering::PerformDAGCombine(), and llvm::PIC16TargetLowering::PerformPIC16LoadCombine().

bool SDNode::hasAnyUseOfValue ( unsigned  Value  )  const

hasAnyUseOfValue - Return true if there are any use of the indicated value. This method ignores uses of other values defined by this operation.

hasAnyUseOfValue - Return true if there are any use of the indicated value. This method ignores uses of other values defined by this operation.

Definition at line 5454 of file SelectionDAG.cpp.

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

Referenced by canClobberPhysRegDefs(), and llvm::ScheduleDAGSDNodes::EmitNode().

bool SDNode::isOnlyUserOf ( SDNode *  N  )  const

isOnlyUserOf - Return true if this node is the only use of N.

Definition at line 5467 of file SelectionDAG.cpp.

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

bool SDNode::isOperandOf ( SDNode *  N  )  const

isOperandOf - Return true if this node is an operand of N.

Definition at line 5489 of file SelectionDAG.cpp.

References llvm::SDUse::getNode(), NumOperands, and OperandList.

Referenced by isRMWLoad().

bool SDNode::isPredecessorOf ( SDNode *  N  )  const

isPredecessorOf - Return true if this node is a predecessor of N. This node is either an operand of N or it can be reached by recursively traversing up the operands. NOTE: this is an expensive method. Use it carefully.

isPredecessorOf - Return true if this node is a predecessor of N. This node is either an operand of N or it can be reached by recursively traversing up the operands. NOTE: this is an expensive method. Use it carefully.

Definition at line 5546 of file SelectionDAG.cpp.

References findPredecessor(), and Visited.

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

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

Definition at line 1261 of file SelectionDAGNodes.h.

Referenced by AddNodeIDNode(), llvm::CCState::AnalyzeReturn(), llvm::SelectionDAG::AssignTopologicalOrder(), llvm::ScheduleDAGSDNodes::ComputeMemOperandsEnd(), llvm::ScheduleDAGSDNodes::EmitNode(), llvm::SDNodeIterator::end(), ExtendUsesToFormExtLoad(), FindCallEndFromCallStart(), findNonImmUse(), findPredecessor(), llvm::PPC::get_VSPLTI_elt(), GetConstantBuildVectorBits(), getFlaggedNode(), getInputChainForNode(), llvm::X86::getShuffleSHUFImmediate(), getSplatMaskEltNo(), getVecImm(), llvm::PPC::isAllNegativeZeroVector(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), isCommutedMOVL(), isCommutedSHUFP(), isCopyFromLiveIn(), isIdentityMask(), llvm::X86::isMOVDDUPMask(), llvm::X86::isMOVHLPS_v_undef_Mask(), llvm::X86::isMOVHLPSMask(), llvm::X86::isMOVHPMask(), llvm::X86::isMOVLMask(), llvm::X86::isMOVLPMask(), llvm::X86::isMOVSHDUPMask(), llvm::X86::isMOVSLDUPMask(), llvm::SDValue::isOperandOf(), llvm::X86::isPSHUFDMask(), isPSHUFHW_PSHUFLWMask(), llvm::X86::isPSHUFHWMask(), llvm::X86::isPSHUFLWMask(), llvm::ISD::isScalarToVector(), llvm::X86TargetLowering::isShuffleMaskLegal(), llvm::X86::isSHUFPMask(), llvm::X86::isSplatLoMask(), llvm::X86::isSplatMask(), isSplatMask(), llvm::PPC::isSplatShuffleMask(), isSplatVector(), llvm::X86::isUNPCKH_v_undef_Mask(), llvm::X86::isUNPCKHMask(), llvm::X86::isUNPCKL_v_undef_Mask(), llvm::X86::isUNPCKLMask(), isVMerge(), llvm::PPC::isVSLDOIShuffleMask(), MoveBelowCallSeqStart(), MoveBelowTokenFactor(), PerformBuildVectorCombine(), PerformSTORECombine(), print(), llvm::DAGTypeLegalizer::run(), ShouldXformToMOVHLPS(), ShouldXformToMOVLP(), llvm::X86InstrInfo::unfoldMemoryOperand(), and llvm::SelectionDAG::UpdateNodeOperands().

uint64_t SDNode::getConstantOperandVal ( unsigned  Num  )  const

getConstantOperandVal - Helper method returns the integer value of a ConstantSDNode operand.

Definition at line 5553 of file SelectionDAG.cpp.

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

Definition at line 1267 of file SelectionDAGNodes.h.

Referenced by llvm::CCState::AnalyzeFormalArguments(), llvm::CCState::AnalyzeReturn(), llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), CheckForPhysRegDependency(), combineSelectAndUse(), llvm::ScheduleDAGSDNodes::ComputeMemOperandsEnd(), llvm::ScheduleDAGSDNodes::CountOperands(), llvm::PPCHazardRecognizer970::EmitInstruction(), llvm::ScheduleDAGSDNodes::EmitNode(), ExpandBIT_CONVERT(), ExpandFCOPYSIGNToBitwiseOps(), ExpandSRx(), ExtendUsesToFormExtLoad(), FindCallEndFromCallStart(), FindCallStartFromCall(), FindCallStartFromCallEnd(), findNonImmUse(), findPredecessor(), llvm::PPC::get_VSPLTI_elt(), getBuildPairElt(), GetConstantBuildVectorBits(), llvm::DOTGraphTraits< SelectionDAG * >::getEdgeTarget(), getFlaggedNode(), llvm::PPCHazardRecognizer970::getHazardType(), getIndexedAddressParts(), getInputChainForNode(), llvm::SelectionDAG::getNode(), getOperationName(), llvm::X86::getShufflePSHUFHWImmediate(), llvm::X86::getShufflePSHUFLWImmediate(), llvm::SelectionDAG::getShuffleScalarElt(), llvm::X86::getShuffleSHUFImmediate(), getSplatMaskEltNo(), getVecImm(), llvm::PPC::getVSPLTImmediate(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), llvm::TargetLowering::isConsecutiveLoad(), isCopyFromLiveIn(), llvm::X86TargetLowering::isGAPlusOffset(), llvm::TargetLowering::isGAPlusOffset(), isIdentityMask(), llvm::X86::isMOVDDUPMask(), llvm::X86::isMOVHLPS_v_undef_Mask(), llvm::X86::isMOVHLPSMask(), llvm::X86::isMOVHPMask(), llvm::X86::isMOVLPMask(), llvm::X86::isMOVSHDUPMask(), llvm::X86::isMOVSLDUPMask(), isOpcWithIntImmediate(), llvm::SDValue::isOperandOf(), llvm::X86::isPSHUFDMask(), isPSHUFHW_PSHUFLWMask(), llvm::X86::isPSHUFHWMask(), llvm::X86::isPSHUFLWMask(), isScalarLoadToVector(), llvm::ISD::isScalarToVector(), llvm::X86::isSplatLoMask(), isSplatMask(), llvm::PPC::isSplatShuffleMask(), isSplatVector(), isUndefShuffle(), llvm::X86::isUNPCKH_v_undef_Mask(), llvm::X86::isUNPCKL_v_undef_Mask(), isVMerge(), llvm::PPC::isVPKUHUMShuffleMask(), llvm::PPC::isVPKUWUMShuffleMask(), llvm::PPC::isVSLDOIShuffleMask(), isZeroShuffle(), llvm::PIC16TargetLowering::LowerShift(), LowerVAARG(), PerformBTCombine(), PerformBuildVectorCombine(), llvm::SPUTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformFANDCombine(), PerformFMRRDCombine(), PerformFORCombine(), llvm::PIC16TargetLowering::PerformPIC16LoadCombine(), PerformSELECTCombine(), PerformShiftCombine(), PerformShuffleCombine(), PerformSTORECombine(), print(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::DAGTypeLegalizer::run(), ShouldXformToMOVHLPS(), ShouldXformToMOVLP(), llvm::TargetLowering::SimplifySetCC(), llvm::X86InstrInfo::unfoldMemoryOperand(), and llvm::SelectionDAG::UpdateNodeOperands().

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

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

SDVTList llvm::SDNode::getVTList (  )  const [inline]

SDNode* llvm::SDNode::getFlaggedNode (  )  const [inline]

getFlaggedNode - If this node has a flag operand, return the node to which the flag operand points. Otherwise return NULL.

Definition at line 1283 of file SelectionDAGNodes.h.

References llvm::MVT::Flag, llvm::SDValue::getNode(), getNumOperands(), getOperand(), and getValueType().

Referenced by llvm::ScheduleDAGSDNodes::ComputeLatency(), llvm::ScheduleDAGSDNodes::dumpNode(), llvm::ScheduleDAGSDNodes::EmitSchedule(), getFlaggedMachineNode(), and llvm::ScheduleDAGSDNodes::getGraphNodeLabel().

const SDNode* llvm::SDNode::getFlaggedMachineNode (  )  const [inline]

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

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

getValueType - Return the type of a specified result.

Definition at line 1313 of file SelectionDAGNodes.h.

Referenced by llvm::CCState::AnalyzeFormalArguments(), llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), canClobberPhysRegDefs(), CheckForPhysRegDependency(), combineSelectAndUse(), llvm::ScheduleDAGSDNodes::CountResults(), doNotCSE(), ExpandBIT_CONVERT(), ExpandConstantFP(), ExpandFCOPYSIGNToBitwiseOps(), llvm::PIC16TargetLowering::ExpandFrameIndex(), ExpandLibCall(), llvm::PIC16TargetLowering::ExpandLoad(), ExpandSRx(), ExpandUnalignedLoad(), ExtendUsesToFormExtLoad(), FindCallEndFromCallStart(), getFlaggedNode(), getPhysicalRegisterVT(), llvm::SelectionDAG::getShuffleScalarElt(), getValueSizeInBits(), llvm::TargetLowering::isConsecutiveLoad(), isFPS16Immediate(), isInt32Immediate(), isInt64Immediate(), isIntS16Immediate(), llvm::X86TargetLowering::LowerAsmOperandForConstraint(), LowerCALL(), llvm::PIC16TargetLowering::LowerFORMAL_ARGUMENTS(), llvm::AlphaTargetLowering::LowerOperation(), LowerToTLSExecModel(), LowerToTLSGeneralDynamicModel32(), LowerToTLSGeneralDynamicModel64(), LowerVAARG(), PerformBuildVectorCombine(), llvm::SPUTargetLowering::PerformDAGCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformSELECTCombine(), PerformShiftCombine(), PerformShuffleCombine(), print(), llvm::X86TargetLowering::ReplaceNodeResults(), llvm::SPUTargetLowering::ReplaceNodeResults(), llvm::PPCTargetLowering::ReplaceNodeResults(), llvm::AlphaTargetLowering::ReplaceNodeResults(), llvm::DAGTypeLegalizer::run(), and llvm::X86InstrInfo::unfoldMemoryOperand().

unsigned llvm::SDNode::getValueSizeInBits ( unsigned  ResNo  )  const [inline]

getValueSizeInBits - Returns MVT::getSizeInBits(getValueType(ResNo)).

Definition at line 1320 of file SelectionDAGNodes.h.

References llvm::MVT::getSizeInBits(), and getValueType().

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

Definition at line 1325 of file SelectionDAGNodes.h.

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

Definition at line 1326 of file SelectionDAGNodes.h.

std::string SDNode::getOperationName ( const SelectionDAG *  G = 0  )  const

getOperationName - Return the opcode of this operation for printing.

Definition at line 5558 of file SelectionDAG.cpp.

References llvm::ISD::ADD, llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::ISD::AND, llvm::ISD::ANY_EXTEND, llvm::ISD::ARG_FLAGS, llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::ISD::ATOMIC_CMP_SWAP, llvm::ISD::ATOMIC_LOAD_ADD, llvm::ISD::ATOMIC_LOAD_AND, llvm::ISD::ATOMIC_LOAD_MAX, llvm::ISD::ATOMIC_LOAD_MIN, llvm::ISD::ATOMIC_LOAD_NAND, llvm::ISD::ATOMIC_LOAD_OR, llvm::ISD::ATOMIC_LOAD_SUB, llvm::ISD::ATOMIC_LOAD_UMAX, llvm::ISD::ATOMIC_LOAD_UMIN, llvm::ISD::ATOMIC_LOAD_XOR, llvm::ISD::ATOMIC_SWAP, llvm::ISD::BasicBlock, llvm::ISD::BIT_CONVERT, llvm::ISD::BR, llvm::ISD::BR_CC, llvm::ISD::BR_JT, 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::CARRY_FALSE, llvm::ISD::CONCAT_VECTORS, llvm::ISD::CONDCODE, llvm::ISD::Constant, llvm::ISD::ConstantFP, llvm::ISD::ConstantPool, llvm::ISD::CONVERT_RNDSAT, llvm::ISD::CopyFromReg, llvm::ISD::CopyToReg, llvm::ISD::CTLZ, llvm::ISD::CTPOP, llvm::ISD::CTTZ, llvm::ISD::CVT_FF, llvm::ISD::CVT_FS, llvm::ISD::CVT_FU, llvm::ISD::CVT_SF, llvm::ISD::CVT_SS, llvm::ISD::CVT_SU, llvm::ISD::CVT_UF, llvm::ISD::CVT_US, llvm::ISD::CVT_UU, llvm::ISD::DBG_LABEL, llvm::ISD::DBG_STOPPOINT, llvm::ISD::DEBUG_LOC, llvm::ISD::DECLARE, llvm::ISD::DELETED_NODE, llvm::ISD::DYNAMIC_STACKALLOC, llvm::ISD::EH_LABEL, llvm::ISD::EH_RETURN, llvm::ISD::EHSELECTION, llvm::ISD::EntryToken, llvm::ISD::EXCEPTIONADDR, llvm::ISD::ExternalSymbol, llvm::ISD::EXTRACT_ELEMENT, llvm::ISD::EXTRACT_SUBREG, llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::ISD::FABS, llvm::ISD::FADD, llvm::ISD::FCEIL, llvm::ISD::FCOPYSIGN, llvm::ISD::FCOS, llvm::ISD::FDIV, llvm::ISD::FFLOOR, llvm::ISD::FGETSIGN, llvm::ISD::FLT_ROUNDS_, llvm::ISD::FMUL, llvm::ISD::FNEARBYINT, 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::FPOW, llvm::ISD::FPOWI, llvm::ISD::FRAME_TO_ARGS_OFFSET, llvm::ISD::FRAMEADDR, llvm::ISD::FrameIndex, llvm::ISD::FREM, llvm::ISD::FRINT, llvm::ISD::FSIN, llvm::ISD::FSQRT, llvm::ISD::FSUB, llvm::ISD::FTRUNC, llvm::TargetInstrInfo::get(), llvm::TargetMachine::getInstrInfo(), getMachineOpcode(), llvm::Intrinsic::getName(), llvm::TargetInstrDesc::getName(), llvm::TargetInstrInfo::getNumOpcodes(), getOpcode(), getOperand(), llvm::SelectionDAG::getTarget(), llvm::SelectionDAG::getTargetLoweringInfo(), llvm::TargetLowering::getTargetNodeName(), llvm::ISD::GLOBAL_OFFSET_TABLE, llvm::ISD::GlobalAddress, llvm::ISD::GlobalTLSAddress, llvm::ISD::HANDLENODE, llvm::ISD::INLINEASM, llvm::ISD::INSERT_SUBREG, llvm::ISD::INSERT_VECTOR_ELT, llvm::ISD::INTRINSIC_VOID, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_WO_CHAIN, isMachineOpcode(), llvm::ISD::JumpTable, llvm::ISD::LOAD, llvm::ISD::MEMBARRIER, llvm::ISD::MEMOPERAND, llvm::ISD::MERGE_VALUES, llvm::ISD::MUL, llvm::ISD::MULHS, llvm::ISD::MULHU, Name, llvm::ISD::OR, llvm::ISD::PCMARKER, llvm::ISD::PREFETCH, llvm::ISD::READCYCLECOUNTER, llvm::ISD::Register, llvm::ISD::RET, llvm::ISD::RETURNADDR, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SADDO, llvm::ISD::SCALAR_TO_VECTOR, llvm::ISD::SDIV, llvm::ISD::SDIVREM, 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::SHL, llvm::ISD::SHL_PARTS, llvm::ISD::SIGN_EXTEND, llvm::ISD::SIGN_EXTEND_INREG, llvm::ISD::SINT_TO_FP, llvm::ISD::SMUL_LOHI, llvm::ISD::SMULO, llvm::ISD::SRA, llvm::ISD::SRA_PARTS, llvm::ISD::SRCVALUE, llvm::ISD::SREM, llvm::ISD::SRL, llvm::ISD::SRL_PARTS, llvm::ISD::SSUBO, llvm::ISD::STACKRESTORE, llvm::ISD::STACKSAVE, llvm::ISD::STORE, 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::TargetGlobalTLSAddress, llvm::ISD::TargetJumpTable, TII, TLI, llvm::ISD::TokenFactor, llvm::ISD::TRAMPOLINE, llvm::ISD::TRAP, llvm::ISD::TRUNCATE, llvm::ISD::UADDO, llvm::ISD::UDIV, llvm::ISD::UDIVREM, llvm::ISD::UINT_TO_FP, llvm::ISD::UMUL_LOHI, llvm::ISD::UMULO, llvm::ISD::UNDEF, llvm::ISD::UREM, llvm::ISD::USUBO, llvm::ISD::VAARG, llvm::ISD::VACOPY, llvm::ISD::VAEND, llvm::ISD::VALUETYPE, llvm::ISD::VASTART, llvm::ISD::VECTOR_SHUFFLE, llvm::ISD::VSETCC, llvm::ISD::XOR, and llvm::ISD::ZERO_EXTEND.

Referenced by print().

const char * SDNode::getIndexedModeName ( ISD::MemIndexedMode  AM  )  [static]

void SDNode::print ( raw_ostream &  OS,
const SelectionDAG *  G = 0 
) const

void SDNode::dump (  )  const

void SDNode::dump ( const SelectionDAG *  G  )  const

Definition at line 5867 of file SelectionDAG.cpp.

References llvm::errs(), llvm::raw_ostream::flush(), and print().

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

void SDNode::Profile ( FoldingSetNodeID &  ID  )  const

Profile - Gather unique data for the node.

Definition at line 5415 of file SelectionDAG.cpp.

References AddNodeIDNode().

void llvm::SDNode::addUse ( SDUse &  U  )  [inline]

addUse - This method should only be used by the SDUse class.

Definition at line 1344 of file SelectionDAGNodes.h.

References llvm::SDUse::addToList().

static SDVTList llvm::SDNode::getSDVTList ( MVT  VT  )  [inline, static, protected]

Definition at line 1347 of file SelectionDAGNodes.h.

References llvm::MipsISD::Ret.

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

void llvm::SDNode::InitOperands ( SDUse *  Ops,
const SDValue &  Op0 
) [inline, protected]

InitOperands - Initialize the operands list of this with 1 operand.

Definition at line 1402 of file SelectionDAGNodes.h.

References llvm::SDUse::setInitial(), and llvm::SDUse::setUser().

void llvm::SDNode::InitOperands ( SDUse *  Ops,
const SDValue &  Op0,
const SDValue &  Op1 
) [inline, protected]

InitOperands - Initialize the operands list of this with 2 operands.

Definition at line 1410 of file SelectionDAGNodes.h.

References llvm::SDUse::setInitial(), and llvm::SDUse::setUser().

void llvm::SDNode::InitOperands ( SDUse *  Ops,
const SDValue &  Op0,
const SDValue &  Op1,
const SDValue &  Op2 
) [inline, protected]

InitOperands - Initialize the operands list of this with 3 operands.

Definition at line 1420 of file SelectionDAGNodes.h.

References llvm::SDUse::setInitial(), and llvm::SDUse::setUser().

void llvm::SDNode::InitOperands ( SDUse *  Ops,
const SDValue &  Op0,
const SDValue &  Op1,
const SDValue &  Op2,
const SDValue &  Op3 
) [inline, protected]

InitOperands - Initialize the operands list of this with 4 operands.

Definition at line 1433 of file SelectionDAGNodes.h.

References llvm::SDUse::setInitial(), and llvm::SDUse::setUser().

void llvm::SDNode::InitOperands ( SDUse *  Ops,
const SDValue *  Vals,
unsigned  N 
) [inline, protected]

InitOperands - Initialize the operands list of this with N operands.

Definition at line 1448 of file SelectionDAGNodes.h.

References llvm::SDUse::setInitial(), and llvm::SDUse::setUser().

void SDNode::DropOperands (  )  [protected]

DropOperands - Release the operands and set this node to have zero operands.

DropOperands - Release the operands and set this node to have zero operands.

Definition at line 4504 of file SelectionDAG.cpp.

References E, op_begin(), op_end(), and llvm::SDUse::set().

Referenced by llvm::HandleSDNode::~HandleSDNode().


Friends And Related Function Documentation

friend class SelectionDAG [friend]

friend struct ilist_traits< SDNode > [friend]

Definition at line 1114 of file SelectionDAGNodes.h.


Member Data Documentation

SubclassData - This member is defined by this class, but is not used for anything. Subclasses can use it to hold whatever state they find useful. This field is initialized to zero by the ctor.

Definition at line 1087 of file SelectionDAGNodes.h.

Referenced by llvm::MemSDNode::MemSDNode().


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