LLVM API Documentation
#include <SelectionDAGNodes.h>
Collaboration diagram for llvm::SDOperand:
Public Member Functions | |
SDOperand () | |
SDOperand (SDNode *val, unsigned resno) | |
bool | operator== (const SDOperand &O) const |
bool | operator!= (const SDOperand &O) const |
bool | operator< (const SDOperand &O) const |
SDOperand | getValue (unsigned R) const |
bool | isOperand (SDNode *N) const |
MVT::ValueType | getValueType () const |
unsigned | getOpcode () const |
unsigned | getNodeDepth () const |
unsigned | getNumOperands () const |
const SDOperand & | getOperand (unsigned i) const |
bool | isTargetOpcode () const |
unsigned | getTargetOpcode () const |
bool | hasOneUse () const |
Public Attributes | |
SDNode * | Val |
unsigned | ResNo |
As such, each use of a SelectionDAG computation must indicate the node that computes it as well as which return value to use from that node. This pair of information is represented with the SDOperand value type.
Definition at line 626 of file SelectionDAGNodes.h.
llvm::SDOperand::SDOperand | ( | ) | [inline] |
llvm::SDOperand::SDOperand | ( | SDNode * | val, | |
unsigned | resno | |||
) | [inline] |
Definition at line 632 of file SelectionDAGNodes.h.
bool llvm::SDOperand::operator== | ( | const SDOperand & | O | ) | const [inline] |
bool llvm::SDOperand::operator!= | ( | const SDOperand & | O | ) | const [inline] |
bool llvm::SDOperand::operator< | ( | const SDOperand & | O | ) | const [inline] |
SDOperand llvm::SDOperand::getValue | ( | unsigned | R | ) | const [inline] |
Definition at line 644 of file SelectionDAGNodes.h.
References SDOperand(), and Val.
Referenced by llvm::SelectionDAGLowering::getLoadFrom(), llvm::PPC::isSplatShuffleMask(), llvm::IA64TargetLowering::LowerArguments(), LowerCALL(), llvm::TargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerCallTo(), llvm::AlphaTargetLowering::LowerCallTo(), LowerINTRINSIC_WO_CHAIN(), llvm::IA64TargetLowering::LowerOperation(), LowerRET(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::SelectionDAGLowering::visitInlineAsm(), llvm::SelectionDAGLowering::visitIntrinsicCall(), llvm::SelectionDAGLowering::visitJumpTable(), llvm::SelectionDAGLowering::visitMemIntrinsic(), and llvm::SelectionDAGLowering::visitTargetIntrinsic().
bool SDOperand::isOperand | ( | SDNode * | N | ) | const |
Definition at line 2766 of file SelectionDAG.cpp.
References llvm::SDNode::getNumOperands(), and llvm::SDNode::getOperand().
MVT::ValueType llvm::SDOperand::getValueType | ( | ) | const [inline] |
getValueType - Return the ValueType of the referenced return value.
Definition at line 1049 of file SelectionDAGNodes.h.
References llvm::SDNode::getValueType(), ResNo, and Val.
Referenced by BuildIntrinsicOp(), CommuteVectorShuffle(), CountOperands(), llvm::ScheduleDAG::EmitNode(), FindCallStartFromCall(), FindCallStartFromCallEnd(), GeneratePerfectShuffle(), GetConstantBuildVectorBits(), llvm::SelectionDAG::getCopyToReg(), llvm::SelectionDAG::getNode(), llvm::ISD::isBuildVectorAllOnes(), LowerCALL(), llvm::TargetLowering::LowerCallTo(), LowerFORMAL_ARGUMENTS(), LowerSELECT_CC(), LowerVECTOR_SHUFFLE(), NormalizeMask(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::SelectionDAGLowering::visitBinary(), llvm::SelectionDAGLowering::visitBr(), llvm::SelectionDAGLowering::visitCast(), llvm::SelectionDAGLowering::visitGetElementPtr(), llvm::SelectionDAGLowering::visitInlineAsm(), llvm::SelectionDAGLowering::visitShift(), llvm::SelectionDAGLowering::visitSwitch(), and llvm::SelectionDAGLowering::visitSwitchCase().
unsigned llvm::SDOperand::getOpcode | ( | ) | const [inline] |
Definition at line 1043 of file SelectionDAGNodes.h.
References llvm::SDNode::getOpcode(), and Val.
Referenced by llvm::PPC::get_VSPLTI_elt(), llvm::SelectionDAG::getNode(), llvm::X86::getShufflePSHUFHWImmediate(), llvm::X86::getShufflePSHUFLWImmediate(), llvm::X86::getShuffleSHUFImmediate(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), isConsecutiveLoad(), isSetCCEquivalent(), llvm::PPC::isSplatShuffleMask(), llvm::PPC::isVSLDOIShuffleMask(), LookThroughSetCC(), LowerVECTOR_SHUFFLE(), NormalizeMask(), llvm::PPCTargetLowering::PerformDAGCombine(), and PerformShuffleCombine().
unsigned llvm::SDOperand::getNodeDepth | ( | ) | const [inline] |
Definition at line 1046 of file SelectionDAGNodes.h.
References llvm::SDNode::getNodeDepth(), and Val.
unsigned llvm::SDOperand::getNumOperands | ( | ) | const [inline] |
Definition at line 1052 of file SelectionDAGNodes.h.
References llvm::SDNode::getNumOperands(), and Val.
Referenced by CommuteVectorShuffle(), llvm::SelectionDAG::getNode(), getShuffleScalarElt(), LowerVECTOR_SHUFFLE(), NormalizeMask(), OperandConvertibleToType(), PerformShuffleCombine(), and PromoteSplat().
const SDOperand & llvm::SDOperand::getOperand | ( | unsigned | i | ) | const [inline] |
Definition at line 1055 of file SelectionDAGNodes.h.
References llvm::SDNode::getOperand(), and Val.
Referenced by CommuteVectorShuffle(), getAltivecCompareInfo(), llvm::SelectionDAG::getNode(), getShuffleScalarElt(), isSetCCEquivalent(), LookThroughSetCC(), LowerVECTOR_SHUFFLE(), NormalizeMask(), llvm::PPCTargetLowering::PerformDAGCombine(), and PerformShuffleCombine().
bool llvm::SDOperand::isTargetOpcode | ( | ) | const [inline] |
Definition at line 1058 of file SelectionDAGNodes.h.
References llvm::SDNode::isTargetOpcode(), and Val.
unsigned llvm::SDOperand::getTargetOpcode | ( | ) | const [inline] |
Definition at line 1061 of file SelectionDAGNodes.h.
References llvm::SDNode::getTargetOpcode(), and Val.
bool llvm::SDOperand::hasOneUse | ( | ) | const [inline] |
hasOneUse - Return true if there is exactly one operation using this result value of the defining operator.
Definition at line 1064 of file SelectionDAGNodes.h.
References llvm::SDNode::hasNUsesOfValue(), ResNo, and Val.
Referenced by llvm::PPCTargetLowering::PerformDAGCombine().
Definition at line 628 of file SelectionDAGNodes.h.
Referenced by llvm::TargetLowering::BuildSDIV(), llvm::TargetLowering::BuildUDIV(), llvm::ScheduleDAG::CalculateDepths(), llvm::ScheduleDAG::CalculateHeights(), DumpNodes(), llvm::PPC::get_VSPLTI_elt(), getDefUsePredecessor(), llvm::SelectionDAG::getNode(), getNodeDepth(), getNumOperands(), getOpcode(), getOperand(), llvm::SelectionDAG::getTargetNode(), getTargetOpcode(), getValue(), llvm::SelectionDAGLowering::getValue(), getValueType(), hasOneUse(), llvm::ISD::isBuildVectorAllOnes(), llvm::ISD::isBuildVectorAllZeros(), isConsecutiveLoad(), isGAPlusOffset(), isInt32Immediate(), isInvertibleForFree(), isOneUseSetCC(), isOpcWithIntImmediate(), llvm::SDNode::isOperand(), isRotateAndMask(), isScalarLoadToVector(), isSplatMask(), isTargetOpcode(), llvm::TargetLowering::LowerArguments(), LowerCALL(), llvm::TargetLowering::LowerCallTo(), llvm::IA64TargetLowering::LowerCallTo(), LowerVECTOR_SHUFFLE(), llvm::SDNodeIterator::operator *(), operator<(), operator==(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformShuffleCombine(), llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), llvm::SDNode::SDNode(), llvm::SDNode::setOperands(), llvm::SelectionDAG::UpdateNodeOperands(), llvm::SelectionDAGLowering::visitExtractElement(), llvm::SelectionDAGLowering::visitInsertElement(), llvm::SelectionDAGLowering::visitShuffleVector(), and llvm::SelectionDAGLowering::visitTargetIntrinsic().
unsigned llvm::SDOperand::ResNo |
Definition at line 629 of file SelectionDAGNodes.h.
Referenced by getValueType(), hasOneUse(), operator<(), operator==(), and llvm::SelectionDAG::UpdateNodeOperands().