LLVM: llvm::SDNode Class Reference (original) (raw)
Represents one node in the SelectionDAG. More...
#include "[llvm/CodeGen/SelectionDAGNodes.h](SelectionDAGNodes%5F8h%5Fsource.html)"
| Classes | |
|---|---|
| class | ConstantSDNodeBitfields |
| class | LoadSDNodeBitfields |
| class | LSBaseSDNodeBitfields |
| class | MemSDNodeBitfields |
| class | SDNodeBitfields |
| class | StoreSDNodeBitfields |
| class | use_iterator |
| This class provides iterator support for SDUse operands that use a specific SDNode. More... | |
| class | user_iterator |
| struct | value_op_iterator |
| Iterator for directly iterating over the operand SDValue's. More... |
| Public Member Functions | |
|---|---|
| unsigned | getOpcode () const |
| Return the SelectionDAG opcode value for this node. | |
| bool | isTargetOpcode () const |
| Test if this node has a target-specific opcode (in the ISD namespace). | |
| bool | isUndef () const |
| Returns true if the node type is UNDEF or POISON. | |
| bool | isAnyAdd () const |
| Returns true if the node type is ADD or PTRADD. | |
| bool | isMemIntrinsic () const |
| Test if this node is a memory intrinsic (with valid pointer information). | |
| bool | isStrictFPOpcode () |
| Test if this node is a strict floating point pseudo-op. | |
| bool | isAssert () const |
| Test if this node is an assert operation. | |
| bool | isVPOpcode () const |
| Test if this node is a vector predication operation. | |
| bool | isMachineOpcode () const |
| Test if this node has a post-isel opcode, directly corresponding to a MachineInstr opcode. | |
| unsigned | getMachineOpcode () const |
| This may only be called if isMachineOpcode returns true. | |
| bool | getHasDebugValue () const |
| void | setHasDebugValue (bool b) |
| bool | isDivergent () const |
| bool | use_empty () const |
| Return true if there are no uses of this node. | |
| bool | hasOneUse () const |
| Return true if there is exactly one use of this node. | |
| size_t | use_size () const |
| Return the number of uses of this node. | |
| int | getNodeId () const |
| Return the unique node id. | |
| void | setNodeId (int Id) |
| Set unique node id. | |
| int | getCombinerWorklistIndex () const |
| Get worklist index for DAGCombiner. | |
| void | setCombinerWorklistIndex (int Index) |
| Set worklist index for DAGCombiner. | |
| unsigned | getIROrder () const |
| Return the node ordering. | |
| void | setIROrder (unsigned Order) |
| Set the node ordering. | |
| const DebugLoc & | getDebugLoc () const |
| Return the source location info. | |
| void | setDebugLoc (DebugLoc dl) |
| Set source location info. | |
| use_iterator | use_begin () const |
| Provide iteration support to walk over all uses of an SDNode. | |
| iterator_range< use_iterator > | uses () |
| iterator_range< use_iterator > | uses () const |
| user_iterator | user_begin () const |
| Provide iteration support to walk over all users of an SDNode. | |
| iterator_range< user_iterator > | users () |
| iterator_range< user_iterator > | users () const |
| bool | hasNUsesOfValue (unsigned NUses, unsigned Value) const |
| Return true if there are exactly NUSES uses of the indicated value. | |
| LLVM_ABI bool | hasAnyUseOfValue (unsigned Value) const |
| Return true if there are any use of the indicated value. | |
| LLVM_ABI bool | isOnlyUserOf (const SDNode *N) const |
| Return true if this node is the only use of N. | |
| LLVM_ABI bool | isOperandOf (const SDNode *N) const |
| Return true if this node is an operand of N. | |
| bool | isPredecessorOf (const SDNode *N) const |
| Return true if this node is a predecessor of N. | |
| LLVM_ABI bool | hasPredecessor (const SDNode *N) const |
| Return true if N is a predecessor of this node. | |
| unsigned | getNumOperands () const |
| Return the number of values used by this operation. | |
| uint64_t | getConstantOperandVal (unsigned Num) const |
| Helper method returns the integer value of a ConstantSDNode operand. | |
| uint64_t | getAsZExtVal () const |
| Helper method returns the zero-extended integer value of a ConstantSDNode. | |
| const APInt & | getConstantOperandAPInt (unsigned Num) const |
| Helper method returns the APInt of a ConstantSDNode operand. | |
| const APInt & | getAsAPIntVal () const |
| Helper method returns the APInt value of a ConstantSDNode. | |
| std::optional< APInt > | bitcastToAPInt () const |
| const SDValue & | getOperand (unsigned Num) const |
| op_iterator | op_begin () const |
| op_iterator | op_end () const |
| ArrayRef< SDUse > | ops () const |
| iterator_range< value_op_iterator > | op_values () const |
| SDVTList | getVTList () const |
| SDNode * | getGluedNode () const |
| If this node has a glue operand, return the node to which the glue operand points. | |
| SDNode * | getGluedUser () const |
| If this node has a glue value with a user, return the user (there is at most one). | |
| SDNodeFlags | getFlags () const |
| void | setFlags (SDNodeFlags NewFlags) |
| void | dropFlags (unsigned Mask) |
| LLVM_ABI void | intersectFlagsWith (const SDNodeFlags Flags) |
| Clear any flags in this node that aren't also set in Flags. | |
| bool | hasPoisonGeneratingFlags () const |
| void | setCFIType (uint32_t Type) |
| uint32_t | getCFIType () const |
| unsigned | getNumValues () const |
| Return the number of values defined/returned by this operator. | |
| EVT | getValueType (unsigned ResNo) const |
| Return the type of a specified result. | |
| MVT | getSimpleValueType (unsigned ResNo) const |
| Return the type of a specified result as a simple type. | |
| TypeSize | getValueSizeInBits (unsigned ResNo) const |
| Returns MVT::getSizeInBits(getValueType(ResNo)). | |
| value_iterator | value_begin () const |
| value_iterator | value_end () const |
| iterator_range< value_iterator > | values () const |
| LLVM_ABI std::string | getOperationName (const SelectionDAG *G=nullptr) const |
| Return the opcode of this operation for printing. | |
| LLVM_ABI void | print_types (raw_ostream &OS, const SelectionDAG *G) const |
| LLVM_ABI void | print_details (raw_ostream &OS, const SelectionDAG *G) const |
| LLVM_ABI void | print (raw_ostream &OS, const SelectionDAG *G=nullptr) const |
| LLVM_ABI void | printr (raw_ostream &OS, const SelectionDAG *G=nullptr) const |
| LLVM_ABI void | printrFull (raw_ostream &O, const SelectionDAG *G=nullptr) const |
| Print a SelectionDAG node and all children down to the leaves. | |
| LLVM_ABI void | printrWithDepth (raw_ostream &O, const SelectionDAG *G=nullptr, unsigned depth=100) const |
| Print a SelectionDAG node and children up to depth "depth." The given SelectionDAG allows target-specific nodes to be printed in human-readable form. | |
| LLVM_ABI void | dump () const |
| Dump this node, for debugging. | |
| LLVM_ABI void | dumpr () const |
| Dump (recursively) this node and its use-def subgraph. | |
| LLVM_ABI void | dump (const SelectionDAG *G) const |
| Dump this node, for debugging. | |
| LLVM_ABI void | dumpr (const SelectionDAG *G) const |
| Dump (recursively) this node and its use-def subgraph. | |
| LLVM_ABI void | dumprFull (const SelectionDAG *G=nullptr) const |
| printrFull to dbgs(). | |
| LLVM_ABI void | dumprWithDepth (const SelectionDAG *G=nullptr, unsigned depth=100) const |
| printrWithDepth to dbgs(). | |
| LLVM_ABI void | Profile (FoldingSetNodeID &ID) const |
| Gather unique data for the node. | |
| void | addUse (SDUse &U) |
| This method should only be used by the SDUse class. | |
| Public Member Functions inherited from llvm::FoldingSetBase::Node | |
| Node ()=default | |
| void * | getNextInBucket () const |
| void | SetNextInBucket (void *N) |
| Public Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< SDNode, Options... >::type > | |
| self_iterator | getIterator () |
| reverse_self_iterator | getReverseIterator () |
| std::enable_if_t< T::is_sentinel_tracking_explicit, bool > | isSentinel () const |
| Check whether this is the sentinel node. | |
| Public Member Functions inherited from llvm::ilist_detail::node_parent_access< ilist_node_impl< ilist_detail::compute_node_options< SDNode, Options... >::type >, ilist_detail::compute_node_options< SDNode, Options... >::type::parent_ty > | |
| const ilist_detail::compute_node_options< SDNode, Options... >::type::parent_ty * | getParent () const |
| void | setParent (ilist_detail::compute_node_options< SDNode, Options... >::type::parent_ty *Parent) |
| Static Public Member Functions | |
|---|---|
| static use_iterator | use_end () |
| static user_iterator | user_end () |
| static bool | hasPredecessorHelper (const SDNode *N, SmallPtrSetImpl< const SDNode * > &Visited, SmallVectorImpl< const SDNode * > &Worklist, unsigned int MaxSteps=0, bool TopologicalPrune=false) |
| Returns true if N is a predecessor of any node in Worklist. | |
| static LLVM_ABI bool | areOnlyUsersOf (ArrayRef< const SDNode * > Nodes, const SDNode *N) |
| Return true if all the users of N are contained in Nodes. | |
| static constexpr size_t | getMaxNumOperands () |
| Return the maximum number of operands that a SDNode can hold. | |
| static LLVM_ABI const char * | getIndexedModeName (ISD::MemIndexedMode AM) |
| Public Attributes | |
|---|---|
| uint16_t | PersistentId = 0xffff |
| Unique and persistent id per SDNode in the DAG. |
| Protected Types | |
|---|---|
| enum | { NumSDNodeBits = 3 } |
| enum | { NumMemSDNodeBits = NumSDNodeBits + 4 } |
| enum | { NumLSBaseSDNodeBits = NumMemSDNodeBits + 3 } |
| Protected Types inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< SDNode, Options... >::type > | |
| using | self_iterator |
| using | const_self_iterator |
| using | reverse_self_iterator |
| using | const_reverse_self_iterator |
| Protected Member Functions | |
|---|---|
| SDNode (unsigned Opc, unsigned Order, DebugLoc dl, SDVTList VTs) | |
| Create an SDNode. | |
| LLVM_ABI void | DropOperands () |
| Release the operands and set this node to have zero operands. | |
| Protected Member Functions inherited from llvm::ilist_node_impl< ilist_detail::compute_node_options< SDNode, Options... >::type > | |
| ilist_node_impl ()=default |
| Friends | |
|---|---|
| class | SelectionDAG |
| class | HandleSDNode |
Represents one node in the SelectionDAG.
Definition at line 512 of file SelectionDAGNodes.h.
◆ op_iterator
◆ value_iterator
◆ anonymous enum
◆ anonymous enum
◆ anonymous enum
Create an SDNode.
SDNodes are created without any operands, and never own the operand storage. To add operands, see SelectionDAG::createOperands.
Definition at line 1214 of file SelectionDAGNodes.h.
References assert(), llvm::move(), llvm::SDVTList::NumVTs, Opc, and RawSDNodeBits.
Referenced by llvm::AddrSpaceCastSDNode::AddrSpaceCastSDNode(), areOnlyUsersOf(), llvm::AssertAlignSDNode::AssertAlignSDNode(), llvm::AddrSpaceCastSDNode::classof(), llvm::AssertAlignSDNode::classof(), llvm::BasicBlockSDNode::classof(), llvm::BlockAddressSDNode::classof(), llvm::BuildVectorSDNode::classof(), llvm::CondCodeSDNode::classof(), llvm::ConstantFPSDNode::classof(), llvm::ConstantPoolSDNode::classof(), llvm::ConstantSDNode::classof(), llvm::DeactivationSymbolSDNode::classof(), llvm::ExternalSymbolSDNode::classof(), llvm::FrameIndexSDNode::classof(), llvm::GlobalAddressSDNode::classof(), llvm::JumpTableSDNode::classof(), llvm::LabelSDNode::classof(), llvm::LifetimeSDNode::classof(), llvm::MachineSDNode::classof(), llvm::MCSymbolSDNode::classof(), llvm::MDNodeSDNode::classof(), llvm::MemSDNode::classof(), llvm::PseudoProbeSDNode::classof(), llvm::RegisterMaskSDNode::classof(), llvm::RegisterSDNode::classof(), llvm::ShuffleVectorSDNode::classof(), llvm::SrcValueSDNode::classof(), llvm::TargetIndexSDNode::classof(), llvm::VTSDNode::classof(), getGluedNode(), getGluedUser(), llvm::HandleSDNode::HandleSDNode(), hasPredecessor(), hasPredecessorHelper(), isOnlyUserOf(), isOperandOf(), isPredecessorOf(), llvm::MemSDNode::MemSDNode(), llvm::BasicBlockSDNode::SelectionDAG, llvm::BlockAddressSDNode::SelectionDAG, llvm::CondCodeSDNode::SelectionDAG, llvm::ConstantFPSDNode::SelectionDAG, llvm::ConstantSDNode::SelectionDAG, llvm::DeactivationSymbolSDNode::SelectionDAG, llvm::ExternalSymbolSDNode::SelectionDAG, llvm::FrameIndexSDNode::SelectionDAG, llvm::GlobalAddressSDNode::SelectionDAG, llvm::JumpTableSDNode::SelectionDAG, llvm::LabelSDNode::SelectionDAG, llvm::LifetimeSDNode::SelectionDAG, llvm::MachineSDNode::SelectionDAG, llvm::MCSymbolSDNode::SelectionDAG, llvm::MDNodeSDNode::SelectionDAG, llvm::PseudoProbeSDNode::SelectionDAG, llvm::RegisterMaskSDNode::SelectionDAG, llvm::RegisterSDNode::SelectionDAG, llvm::SrcValueSDNode::SelectionDAG, llvm::VTSDNode::SelectionDAG, llvm::ShuffleVectorSDNode::ShuffleVectorSDNode(), and llvm::TargetIndexSDNode::TargetIndexSDNode().
◆ addUse()
| void llvm::SDNode::addUse ( SDUse & U) | inline |
|---|
◆ areOnlyUsersOf()
◆ bitcastToAPInt()
| std::optional< APInt > llvm::SDNode::bitcastToAPInt ( ) const | inline |
|---|
◆ dropFlags()
| void llvm::SDNode::dropFlags ( unsigned Mask) | inline |
|---|
◆ DropOperands()
| void SDNode::DropOperands ( ) | protected |
|---|
◆ dump() [1/2]
◆ dump() [2/2]
◆ dumpr() [1/2]
◆ dumpr() [2/2]
◆ dumprFull()
◆ dumprWithDepth()
◆ getAsAPIntVal()
| const APInt & llvm::SDNode::getAsAPIntVal ( ) const | inline |
|---|
◆ getAsZExtVal()
| uint64_t llvm::SDNode::getAsZExtVal ( ) const | inline |
|---|
Helper method returns the zero-extended integer value of a ConstantSDNode.
Definition at line 1794 of file SelectionDAGNodes.h.
References llvm::cast().
Referenced by llvm::SIInstrInfo::areLoadsFromSameBasePtr(), combineGatherScatter(), expandDivFix(), llvm::PPC::get_VSPLTI_elt(), getCmp(), llvm::SelectionDAG::getNode(), llvm::SelectionDAG::getNode(), getOperationName(), getUnderlyingExtractedFromVec(), isF128MovedFromParts(), LowerEXTRACT_SUBVECTOR(), LowerEXTRACT_VECTOR_ELT_SSE4(), LowerINTRINSIC_W_CHAIN(), llvm::MSP430TargetLowering::LowerSETCC(), lowerVectorIntrinsicScalars(), matchMergedBFX(), llvm::ARMTargetLowering::PerformBRCONDCombine(), performBRCONDCombine(), llvm::ARMTargetLowering::PerformCMOVCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::R600TargetLowering::PerformDAGCombine(), PerformORCombineToBFI(), ReplaceINTRINSIC_W_CHAIN(), llvm::LoongArchTargetLowering::ReplaceNodeResults(), llvm::RISCVDAGToDAGISel::Select(), llvm::PPCTargetLowering::SelectOptimalAddrMode(), llvm::X86TargetLowering::SimplifyDemandedBitsForTargetNode(), splatPartsI64WithVL(), and tryFoldMADwithSRL().
◆ getCFIType()
| uint32_t llvm::SDNode::getCFIType ( ) const | inline |
|---|
◆ getCombinerWorklistIndex()
| int llvm::SDNode::getCombinerWorklistIndex ( ) const | inline |
|---|
◆ getConstantOperandAPInt()
◆ getConstantOperandVal()
Helper method returns the integer value of a ConstantSDNode operand.
Definition at line 1790 of file SelectionDAGNodes.h.
References llvm::cast(), and getOperand().
Referenced by llvm::SIInstrInfo::areLoadsFromSameBasePtr(), checkBoolTestAndOrSetCCCombine(), CombineVLDDUP(), combineX86SubCmpForFlags(), extractPtrauthBlendDiscriminators(), extractPtrauthBlendDiscriminators(), foldCSELOfCSEL(), getMemVTFromNode(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::HexagonDAGToDAGISel::LoadInstrForLoadIntrinsic(), narrowExtractedVectorSelect(), performBuildVectorCombine(), performConcatVectorsCombine(), performSetCCPunpkCombine(), performVectorDeinterleaveCombine(), PerformVMOVNCombine(), replaceZeroVectorStore(), llvm::HexagonDAGToDAGISel::SelectBrevLdIntrinsic(), llvm::HexagonDAGToDAGISel::SelectNewCircIntrinsic(), and simplifyMul24().
◆ getDebugLoc()
◆ getFlags()
Definition at line 1096 of file SelectionDAGNodes.h.
Referenced by combineBinOpOfExtractToReduceTree(), combineEXTEND_VECTOR_INREG(), combineFaddCFmul(), combineFneg(), combineLoad(), combineShiftOfShiftedLogic(), combineTruncate(), eliminateFPCastPair(), expandf64Toi32(), llvm::SelectionDAG::getNode(), isAddSubOrSubAdd(), isFMAddSubOrFMSubAdd(), isNoUnsignedWrap(), isNoUnsignedWrap(), lowerVECTOR_SHUFFLE(), llvm::VPMatchContext::match(), narrowExtractedVectorBinOp(), narrowInsertExtractVectorBinOp(), PerformFADDCombineWithOperands(), llvm::AMDGPUTargetLowering::performFNegCombine(), print_details(), llvm::X86TargetLowering::ReplaceNodeResults(), and llvm::TargetLowering::SimplifySetCC().
◆ getGluedNode()
| SDNode * llvm::SDNode::getGluedNode ( ) const | inline |
|---|
If this node has a glue operand, return the node to which the glue operand points.
Otherwise return NULL.
Definition at line 1080 of file SelectionDAGNodes.h.
References llvm::SDValue::getNode(), getNumOperands(), getOperand(), getValueType(), and SDNode().
Referenced by canClobberPhysRegDefs(), llvm::ScheduleDAGSDNodes::dumpNode(), llvm::ScheduleDAGSDNodes::EmitSchedule(), isOperandOf(), llvm::ResourcePriorityQueue::isResourceAvailable(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), and llvm::ResourcePriorityQueue::reserveResources().
◆ getGluedUser()
| SDNode * llvm::SDNode::getGluedUser ( ) const | inline |
|---|
◆ getHasDebugValue()
| bool llvm::SDNode::getHasDebugValue ( ) const | inline |
|---|
◆ getIndexedModeName()
◆ getIROrder()
| unsigned llvm::SDNode::getIROrder ( ) const | inline |
|---|
◆ getMachineOpcode()
| unsigned llvm::SDNode::getMachineOpcode ( ) const | inline |
|---|
This may only be called if isMachineOpcode returns true.
It returns the MachineInstr opcode value that the node's opcode corresponds to.
Definition at line 761 of file SelectionDAGNodes.h.
References assert(), and isMachineOpcode().
Referenced by llvm::ARMBaseInstrInfo::areLoadsFromSameBasePtr(), llvm::SIInstrInfo::areLoadsFromSameBasePtr(), llvm::X86InstrInfo::areLoadsFromSameBasePtr(), canClobberReachingPhysRegUse(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::TargetInstrInfo::getOperandLatency(), getOperationName(), getUsefulBitsForUse(), llvm::ResourcePriorityQueue::isResourceAvailable(), nodesHaveSameOperandValue(), llvm::ResourcePriorityQueue::reserveResources(), llvm::ARMBaseInstrInfo::shouldScheduleLoadsNear(), llvm::X86InstrInfo::shouldScheduleLoadsNear(), and llvm::HexagonDAGToDAGISel::StoreInstrForLoadIntrinsic().
◆ getMaxNumOperands()
| constexpr size_t llvm::SDNode::getMaxNumOperands ( ) | inlinestaticconstexpr |
|---|
◆ getNodeId()
| int llvm::SDNode::getNodeId ( ) const | inline |
|---|
◆ getNumOperands()
| unsigned llvm::SDNode::getNumOperands ( ) const | inline |
|---|
Return the number of values used by this operation.
Definition at line 1024 of file SelectionDAGNodes.h.
Referenced by AddCombineBUILD_VECTORToVPADDL(), AddCombineTo64bitMLAL(), checkWMMAElementsModifiersF16(), combineConcatVectorOfConcatVectors(), createMMXBuildVector(), llvm::BuildVectorSDNode::getConstantRawBits(), getGluedNode(), llvm::BuildVectorSDNode::getRepeatedSequence(), llvm::BuildVectorSDNode::getRepeatedSequence(), llvm::BuildVectorSDNode::getSplatValue(), llvm::BuildVectorSDNode::getSplatValue(), llvm::BuildVectorSDNode::isConstantSequence(), llvm::BuildVectorSDNode::isConstantSplat(), isF128MovedFromParts(), isValidMtVsrBmi(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), lowerBUILD_VECTORAsBroadCastLoad(), performANDCombine(), performSRACombine(), print(), llvm::ResourcePriorityQueue::rawRegPressureDelta(), reduceBuildVecToShuffleWithZero(), replaceInChain(), llvm::ResourcePriorityQueue::scheduledNode(), llvm::SelectionDAGISel::SelectCodeCommon(), and llvm::HexagonDAGToDAGISel::SelectNewCircIntrinsic().
◆ getNumValues()
| unsigned llvm::SDNode::getNumValues ( ) const | inline |
|---|
Return the number of values defined/returned by this operator.
Definition at line 1112 of file SelectionDAGNodes.h.
Referenced by AddCombineTo64bitMLAL(), BURRSort(), getCmp(), getFPBinOp(), getFPTernOp(), llvm::NVPTXDAGToDAGISel::getFromTypeWidthForLoad(), getOutputChainFromCallSeq(), llvm::SelectionDAGBuilder::getValueImpl(), hasAnyUseOfValue(), hasNUsesOfValue(), llvm::SelectionDAGISel::IsLegalToFold(), isMemOPCandidate(), llvm::SITargetLowering::legalizeTargetIndependentNode(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), LowerLoad(), llvm::TargetLowering::LowerOperationWrapper(), narrowExtractedVectorBinOp(), narrowInsertExtractVectorBinOp(), llvm::DAGTypeLegalizer::NoteDeletion(), print_types(), llvm::ResourcePriorityQueue::rawRegPressureDelta(), llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), llvm::AVRTargetLowering::ReplaceNodeResults(), scalarizeExtractedBinOp(), llvm::ResourcePriorityQueue::scheduledNode(), and llvm::SelectionDAGISel::SelectCodeCommon().
◆ getOpcode()
| unsigned llvm::SDNode::getOpcode ( ) const | inline |
|---|
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 ISD namespaces. For post-isel opcodes, see getMachineOpcode.
Definition at line 703 of file SelectionDAGNodes.h.
Referenced by AddCombineBUILD_VECTORToVPADDL(), AddCombineTo64bitMLAL(), AddCombineTo64bitUMAAL(), allowARIDWithDisp(), AllowARIIWithZeroDisp(), llvm::RISCVDAGToDAGISel::areOffsetsWithinAlignment(), canEmitConjunction(), canEnableCoalescing(), canLowerSRLToRoundingShiftForVT(), CheckForMaskedLoad(), closestSucc(), CombineANDShift(), combineArithReduction(), combineBallotPattern(), CombineBaseUpdate(), combineBitOpWithShift(), combineShiftOfShiftedLogic(), combineSubShiftToOrcB(), combineToExtendCMOV(), CombineVLDDUP(), combineVqdotAccum(), combineX86SubCmpForFlags(), emitConjunctionRec(), extractPtrauthBlendDiscriminators(), extractPtrauthBlendDiscriminators(), findConsecutiveLoad(), foldAndOrOfSETCC(), foldBinOpIntoSelectIfProfitable(), foldBinOpIntoSelectIfProfitable(), llvm::SelectionDAG::FoldSymbolOffset(), getARMIndexedAddressParts(), llvm::AtomicSDNode::getBasePtr(), llvm::MemSDNode::getBasePtr(), llvm::VPBaseLoadStoreSDNode::getBasePtr(), llvm::VPGatherScatterSDNode::getBasePtr(), llvm::getBitwiseNotOperand(), getConstantLaneNumOfExtractHalfOperand(), llvm::AtomicSDNode::getExtensionType(), llvm::VPGatherScatterSDNode::getIndex(), llvm::MaskedLoadStoreSDNode::getMask(), llvm::VPBaseLoadStoreSDNode::getMask(), llvm::VPGatherScatterSDNode::getMask(), getMemVTFromNode(), getMVEIndexedAddressParts(), llvm::SelectionDAG::getNode(), getNormalLoadInput(), llvm::LSBaseSDNode::getOffset(), llvm::MaskedLoadStoreSDNode::getOffset(), llvm::VPBaseLoadStoreSDNode::getOffset(), getOperationName(), llvm::VPGatherScatterSDNode::getScale(), getT2IndexedAddressParts(), GetTLSADDR(), llvm::AtomicSDNode::getVal(), llvm::VPBaseLoadStoreSDNode::getVectorLength(), llvm::VPGatherScatterSDNode::getVectorLength(), hasOnlyLiveInOpers(), hasOnlyLiveOutUses(), isAddSubOrSubAdd(), isBitfieldExtractOpFromAnd(), llvm::AtomicSDNode::isCompareAndSwap(), llvm::ARMTargetLowering::isDesirableToCommuteWithShift(), llvm::RISCVTargetLowering::isDesirableToCommuteWithShift(), isExtendedBUILD_VECTOR(), isFloatingPointZero(), llvm::isLegalAVL(), isMemOPCandidate(), isNoUnsignedWrap(), isNoUnsignedWrap(), isVPOpcode(), llvm::HexagonDAGToDAGISel::LoadInstrForLoadIntrinsic(), llvm::VETargetLowering::LowerCall(), llvm::SparcTargetLowering::LowerCall_64(), lowerCallFromStatepointLoweringInfo(), lowerLaneOp(), LowerMUL(), LowerVECTOR_SHUFFLE(), llvm::EmptyMatchContext::match(), llvm::VPMatchContext::match(), llvm::SelectionDAG::matchBinOpReduction(), matchSetCC(), matchSetCC(), narrowIndex(), ParseBFI(), PerformADDVecReduce(), performANDCombine(), PerformARMBUILD_VECTORCombine(), performBuildVectorCombine(), llvm::ARMTargetLowering::PerformCMOVToBFICombine(), performConcatVectorsCombine(), performCONDCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::RISCVTargetLowering::PerformDAGCombine(), PerformExtractEltCombine(), PerformExtractEltToVMOVRRD(), PerformExtractFpToIntStores(), performExtractVectorEltCombine(), performINSERT_VECTOR_ELTCombine(), performMADD_MSUBCombine(), performMemPairCombine(), PerformMinMaxCombine(), performMOVFR2GR_SCombine(), performMulCombine(), performMulRdsvlCombine(), performORCombine(), performSETCCCombine(), performSetCCPunpkCombine(), performSPLIT_PAIR_F64Combine(), PerformSplittingMVETruncToNarrowingStores(), PerformSplittingToNarrowingStores(), performSRACombine(), PerformSTORECombine(), PerformSUBCombine(), performSubWithBorrowCombine(), PerformUMLALCombine(), PerformVCMPCombine(), PerformVECREDUCE_ADDCombine(), performVecReduceAddCombineWithUADDLP(), performVectorDeinterleaveCombine(), PerformVMOVhrCombine(), PerformVMOVNCombine(), PerformVMOVrhCombine(), PerformXORCombine(), performXORCombine(), promoteExtBeforeAdd(), reduceBuildVecToShuffleWithZero(), refinePtrAS(), replaceInChain(), resetVRegCycle(), scalarizeExtEltFP(), llvm::HexagonDAGToDAGISel::SelectBrevLdIntrinsic(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::HexagonDAGToDAGISel::SelectNewCircIntrinsic(), llvm::RISCVDAGToDAGISel::selectShiftMask(), shouldCombineToPostInc(), simplifyMul24(), llvm::TargetLowering::SimplifySetCC(), SkipExtensionForVMULL(), stripModuloOnShift(), transformAddImmMulImm(), transformAddShlImm(), tryCombineMULLWithUZP1(), tryMemPairCombine(), tryToFoldExtendOfConstant(), tryToFoldExtendSelectLoad(), tryToWidenSetCCOperands(), widenAbs(), widenBuildVec(), and widenCtPop().
◆ getOperand()
Definition at line 1045 of file SelectionDAGNodes.h.
References assert().
Referenced by accumulateOffset(), AddCombineBUILD_VECTORToVPADDL(), AddCombineTo64bitMLAL(), AddCombineTo64BitSMLAL16(), AddCombineTo64bitUMAAL(), AddCombineToVPADD(), llvm::ARMBaseInstrInfo::areLoadsFromSameBasePtr(), llvm::SIInstrInfo::areLoadsFromSameBasePtr(), llvm::X86InstrInfo::areLoadsFromSameBasePtr(), CanCombineFCOPYSIGN_EXTEND_ROUND(), canEmitConjunction(), canLowerSRLToRoundingShiftForVT(), checkBoolTestAndOrSetCCCombine(), checkWMMAElementsModifiersF16(), CombineANDShift(), combineAndShuffleNot(), combineArithReduction(), combineBasicSADPattern(), combineCCMask(), combineCompareEqual(), combineConcatVectorOfShuffleAndItsOperands(), combineEXTRACT_SUBVECTOR(), combineFaddCFmul(), combineMaskedLoadConstantMask(), combineSext(), combineShiftAnd1ToBitTest(), combineShiftOfShiftedLogic(), combineShlAddIAddImpl(), combineShuffleOfBitcast(), combineShuffleOfScalars(), combineShuffleOfSplatVal(), combineShuffleToAnyExtendVectorInreg(), combineShuffleToZeroExtendVectorInReg(), combineStore(), combineSubShiftToOrcB(), combineToExtendCMOV(), combineTruncationShuffle(), combineTruncToVnclip(), combineVectorCompareAndMaskUnaryOp(), CombineVLDDUP(), CombineVMOVDRRCandidateWithVecOp(), combineVPDPBUSDPattern(), combineVqdotAccum(), combineVWADDSUBWSelect(), combineZext(), createMMXBuildVector(), emitConjunctionRec(), llvm::PPCTargetLowering::expandVSXLoadForLE(), llvm::PPCTargetLowering::expandVSXStoreForLE(), extractPtrauthBlendDiscriminators(), extractPtrauthBlendDiscriminators(), foldAddSubMasked1(), foldBinOpIntoSelectIfProfitable(), foldBinOpIntoSelectIfProfitable(), foldCSELOfCSEL(), foldOverflowCheck(), foldSelectOfCTTZOrCTLZ(), foldShuffleOfConcatUndefs(), formSplatFromShuffles(), llvm::getAnnotatedNodeAVL(), getARMIndexedAddressParts(), llvm::AtomicSDNode::getBasePtr(), llvm::LoadSDNode::getBasePtr(), llvm::MaskedGatherScatterSDNode::getBasePtr(), llvm::MaskedHistogramSDNode::getBasePtr(), llvm::MaskedLoadSDNode::getBasePtr(), llvm::MaskedStoreSDNode::getBasePtr(), llvm::MemSDNode::getBasePtr(), llvm::StoreSDNode::getBasePtr(), llvm::VPBaseLoadStoreSDNode::getBasePtr(), llvm::VPGatherScatterSDNode::getBasePtr(), llvm::VPLoadFFSDNode::getBasePtr(), llvm::VPLoadSDNode::getBasePtr(), llvm::VPStoreSDNode::getBasePtr(), llvm::VPStridedLoadSDNode::getBasePtr(), llvm::VPStridedStoreSDNode::getBasePtr(), llvm::X86MaskedGatherScatterSDNode::getBasePtr(), llvm::MemSDNode::getChain(), llvm::SelectionDAG::getCommutedVectorShuffle(), getConstantLaneNumOfExtractHalfOperand(), getConstantOperandAPInt(), getConstantOperandVal(), llvm::BuildVectorSDNode::getConstantRawBits(), llvm::LifetimeSDNode::getFrameIndex(), getGluedNode(), getHopForBuildVector(), llvm::MaskedHistogramSDNode::getInc(), llvm::MaskedGatherScatterSDNode::getIndex(), llvm::MaskedHistogramSDNode::getIndex(), llvm::VPGatherScatterSDNode::getIndex(), llvm::X86MaskedGatherScatterSDNode::getIndex(), llvm::MaskedHistogramSDNode::getIntID(), getKnownUndefForVectorBinop(), llvm::MaskedGatherScatterSDNode::getMask(), llvm::MaskedHistogramSDNode::getMask(), llvm::MaskedLoadSDNode::getMask(), llvm::MaskedLoadStoreSDNode::getMask(), llvm::MaskedStoreSDNode::getMask(), llvm::VPBaseLoadStoreSDNode::getMask(), llvm::VPGatherScatterSDNode::getMask(), llvm::VPLoadFFSDNode::getMask(), llvm::VPLoadSDNode::getMask(), llvm::VPStoreSDNode::getMask(), llvm::VPStridedLoadSDNode::getMask(), llvm::VPStridedStoreSDNode::getMask(), llvm::X86MaskedGatherScatterSDNode::getMask(), getMemVTFromNode(), getMVEIndexedAddressParts(), getNormalLoadInput(), llvm::LoadSDNode::getOffset(), llvm::LSBaseSDNode::getOffset(), llvm::MaskedLoadSDNode::getOffset(), llvm::MaskedLoadStoreSDNode::getOffset(), llvm::MaskedStoreSDNode::getOffset(), llvm::StoreSDNode::getOffset(), llvm::VPBaseLoadStoreSDNode::getOffset(), llvm::VPLoadSDNode::getOffset(), llvm::VPStoreSDNode::getOffset(), llvm::VPStridedLoadSDNode::getOffset(), llvm::VPStridedStoreSDNode::getOffset(), getOneTrueElt(), llvm::SDValue::getOperand(), getOperationName(), llvm::MaskedGatherSDNode::getPassThru(), llvm::MaskedLoadSDNode::getPassThru(), llvm::X86MaskedGatherSDNode::getPassThru(), llvm::BuildVectorSDNode::getRepeatedSequence(), llvm::MaskedGatherScatterSDNode::getScale(), llvm::MaskedHistogramSDNode::getScale(), llvm::VPGatherScatterSDNode::getScale(), llvm::X86MaskedGatherScatterSDNode::getScale(), getShuffleScalarElt(), llvm::BuildVectorSDNode::getSplatValue(), llvm::VPStridedLoadSDNode::getStride(), llvm::VPStridedStoreSDNode::getStride(), getT2IndexedAddressParts(), getUnderlyingExtractedFromVec(), getUsefulBitsForUse(), llvm::AtomicSDNode::getVal(), llvm::MaskedScatterSDNode::getValue(), llvm::MaskedStoreSDNode::getValue(), llvm::StoreSDNode::getValue(), llvm::VPScatterSDNode::getValue(), llvm::VPStoreSDNode::getValue(), llvm::VPStridedStoreSDNode::getValue(), llvm::X86MaskedScatterSDNode::getValue(), llvm::VPBaseLoadStoreSDNode::getVectorLength(), llvm::VPGatherScatterSDNode::getVectorLength(), llvm::VPLoadFFSDNode::getVectorLength(), llvm::VPLoadSDNode::getVectorLength(), llvm::VPStoreSDNode::getVectorLength(), llvm::VPStridedLoadSDNode::getVectorLength(), llvm::VPStridedStoreSDNode::getVectorLength(), llvm::SelectionDAG::getVectorShuffle(), hasOnlyLiveInOpers(), hasOnlyLiveOutUses(), haveEfficientBuildVectorPattern(), incDecVectorConstant(), isAddSubOrSubAdd(), isAddSubOrSubAdd(), isAllConstantBuildVector(), isBitfieldExtractOpFromAnd(), llvm::BuildVectorSDNode::isConstantSequence(), llvm::BuildVectorSDNode::isConstantSplat(), llvm::X86TargetLowering::isDesirableToCombineLogicOpOfSETCC(), llvm::ARMTargetLowering::isDesirableToCommuteWithShift(), llvm::RISCVTargetLowering::isDesirableToCommuteWithShift(), isExtendedBUILD_VECTOR(), isF128MovedFromParts(), isFloatingPointZero(), isFusableLoadOpStorePattern(), isFusableLoadOpStorePattern(), isHopBuildVector(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), isMemOPCandidate(), llvm::HexagonDAGToDAGISel::LoadInstrForLoadIntrinsic(), llvm::SelectionDAGBuilder::LowerAsSTATEPOINT(), lowerBitreverseShuffle(), lowerBUILD_VECTORAsBroadCastLoad(), lowerBuildVectorAsBlend(), LowerBuildVectorv4x32(), lowerCallFromStatepointLoweringInfo(), lowerDisjointIndicesShuffle(), lowerLaneOp(), LowerMLOAD(), LowerMUL(), lowerShuffleViaVRegSplitting(), LowerToHorizontalOp(), LowerVECTOR_SHUFFLE(), lowerVECTOR_SHUFFLEAsRotate(), lowerVECTOR_SHUFFLEAsVRGatherVX(), llvm::SelectionDAG::matchBinOpReduction(), matchPMADDWD(), MergeInputChains(), narrowExtractedVectorSelect(), narrowShuffle(), nodesHaveSameOperandValue(), llvm::SDNodeIterator::operator*(), ParseBFI(), peekThroughBitcasts(), PerformADDCombineWithOperands(), PerformADDVecReduce(), performANDCombine(), PerformARMBUILD_VECTORCombine(), llvm::ARMTargetLowering::PerformBRCONDCombine(), performBuildShuffleExtendCombine(), performBuildVectorCombine(), llvm::ARMTargetLowering::PerformCMOVToBFICombine(), performConcatVectorsCombine(), performCONDCombine(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::RISCVTargetLowering::PerformDAGCombine(), performExtendCombine(), PerformExtractEltCombine(), performExtractVectorEltCombine(), llvm::AMDGPUTargetLowering::performFNegCombine(), PerformHWLoopCombine(), performINSERT_VECTOR_ELTCombine(), performLDNT1Combine(), performMADD_MSUBCombine(), performMemPairCombine(), PerformMinMaxCombine(), performMULCombine(), performMulCombine(), performMulRdsvlCombine(), llvm::ARMTargetLowering::PerformMVEExtCombine(), PerformORCombine(), performORCombine(), performORCombine(), PerformORCombineToSMULWBT(), PerformREMCombine(), PerformSELECTCombine(), performSetccAddFolding(), performSETCCCombine(), performSetCCPunpkCombine(), PerformShiftCombine(), performSHLCombine(), llvm::AMDGPUTargetLowering::performShlCombine(), performSignExtendCombine(), performSignExtendInRegCombine(), performSignExtendSetCCCombine(), PerformSplittingMVETruncToNarrowingStores(), PerformSplittingToNarrowingStores(), performSRACombine(), performSRLCombine(), performSTNT1Combine(), PerformSTORECombine(), PerformSUBCombine(), performSubsToAndsCombine(), performSVEAndCombine(), performSVEMulAddSubCombine(), PerformUMLALCombine(), PerformVECREDUCE_ADDCombine(), performVecReduceAddCombineWithUADDLP(), performVectorDeinterleaveCombine(), PerformVMOVhrCombine(), PerformVMOVNCombine(), PerformVMOVrhCombine(), PerformVMOVRRDCombine(), PerformVMULCombine(), performVSelectCombine(), PerformXORCombine(), performXORCombine(), print(), promoteExtBeforeAdd(), llvm::ResourcePriorityQueue::rawRegPressureDelta(), ReconstructShuffleWithRuntimeMask(), reduceBuildVecToShuffleWithZero(), refinePtrAS(), replaceAtomicSwap128(), replaceInChain(), scalarizeExtEltFP(), scalarizeExtractedBinOp(), llvm::ResourcePriorityQueue::scheduledNode(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::HexagonDAGToDAGISel::SelectNewCircIntrinsic(), llvm::AMDGPUDAGToDAGISel::SelectVectorShuffle(), simplifyMul24(), llvm::TargetLowering::SimplifySetCC(), simplifyShuffleOfShuffle(), SkipExtensionForVMULL(), llvm::HexagonDAGToDAGISel::StoreInstrForLoadIntrinsic(), stripModuloOnShift(), transformAddImmMulImm(), transformAddShlImm(), tryBitfieldInsertOpFromOr(), tryBuildVectorShuffle(), tryCombineMULLWithUZP1(), tryLowerToBSL(), tryToConvertShuffleOfTbl2ToTbl4(), tryToFoldExtendOfConstant(), widenAbs(), widenBuildVec(), widenBuildVector(), and widenCtPop().
◆ getOperationName()
Return the opcode of this operation for printing.
Definition at line 58 of file SelectionDAGDumper.cpp.
References llvm::ISD::ABDS, llvm::ISD::ABDU, llvm::ISD::ABS, llvm::ISD::ADD, llvm::ISD::ADDC, llvm::ISD::ADDE, llvm::ISD::ADDROFRETURNADDR, llvm::ISD::AND, llvm::ISD::ANY_EXTEND, llvm::ISD::ANY_EXTEND_VECTOR_INREG, llvm::ISD::AssertAlign, llvm::ISD::AssertNoFPClass, llvm::ISD::AssertSext, llvm::ISD::AssertZext, llvm::ISD::AVGCEILS, llvm::ISD::AVGCEILU, llvm::ISD::AVGFLOORS, llvm::ISD::AVGFLOORU, llvm::ISD::BasicBlock, llvm::ISD::BITREVERSE, llvm::ISD::BlockAddress, llvm::ISD::BSWAP, llvm::ISD::BUILD_PAIR, llvm::ISD::BUILD_VECTOR, llvm::ISD::BUILTIN_OP_END, llvm::ISD::CARRY_FALSE, llvm::cast(), llvm::ISD::CLEAR_CACHE, llvm::ISD::CONCAT_VECTORS, llvm::ISD::CONDCODE, llvm::ISD::Constant, llvm::ISD::ConstantFP, llvm::ISD::ConstantPool, llvm::ISD::CopyFromReg, llvm::ISD::CopyToReg, llvm::ISD::CTLZ, llvm::ISD::CTLZ_ZERO_UNDEF, llvm::ISD::CTPOP, llvm::ISD::CTTZ, llvm::ISD::CTTZ_ZERO_UNDEF, llvm::ISD::DELETED_NODE, llvm::ISD::EH_DWARF_CFA, llvm::ISD::EH_RETURN, llvm::ISD::EH_SJLJ_LONGJMP, llvm::ISD::EH_SJLJ_SETJMP, llvm::ISD::EH_SJLJ_SETUP_DISPATCH, llvm::ISD::EntryToken, llvm::ISD::ExternalSymbol, llvm::ISD::EXTRACT_ELEMENT, llvm::ISD::EXTRACT_SUBVECTOR, llvm::ISD::EXTRACT_VECTOR_ELT, llvm::ISD::FADD, llvm::ISD::FCANONICALIZE, llvm::ISD::FCOPYSIGN, llvm::ISD::FDIV, llvm::ISD::FGETSIGN, llvm::ISD::FMA, llvm::ISD::FMAD, llvm::ISD::FMUL, llvm::ISD::FMULADD, llvm::ISD::FP_ROUND, llvm::ISD::FP_TO_SINT, llvm::ISD::FP_TO_SINT_SAT, llvm::ISD::FP_TO_UINT, llvm::ISD::FP_TO_UINT_SAT, llvm::ISD::FPTRUNC_ROUND, llvm::ISD::FRAME_TO_ARGS_OFFSET, llvm::ISD::FRAMEADDR, llvm::ISD::FrameIndex, llvm::ISD::FREEZE, llvm::ISD::FREM, llvm::ISD::FSHL, llvm::ISD::FSHR, llvm::ISD::FSUB, G, llvm::get(), llvm::ISD::GET_ROUNDING, getAsZExtVal(), llvm::Intrinsic::getBaseName(), getMachineOpcode(), getOpcode(), getOperand(), llvm::SelectionDAGTargetInfo::getTargetNodeName(), llvm::TargetLowering::getTargetNodeName(), llvm::ISD::GLOBAL_OFFSET_TABLE, llvm::ISD::GlobalAddress, llvm::ISD::GlobalTLSAddress, llvm::ISD::INSERT_SUBVECTOR, llvm::ISD::INSERT_VECTOR_ELT, llvm::ISD::INTRINSIC_VOID, llvm::ISD::INTRINSIC_W_CHAIN, llvm::ISD::INTRINSIC_WO_CHAIN, llvm::ISD::IS_FPCLASS, isMachineOpcode(), llvm::ISD::JumpTable, llvm_unreachable, llvm::ISD::LOCAL_RECOVER, llvm::ISD::LOOP_DEPENDENCE_RAW_MASK, llvm::ISD::LOOP_DEPENDENCE_WAR_MASK, llvm::ISD::MCSymbol, llvm::ISD::MERGE_VALUES, llvm::ISD::MUL, llvm::ISD::MULHS, llvm::ISD::MULHU, llvm::ISD::OR, llvm::ISD::PARITY, llvm::ISD::POISON, llvm::ISD::PtrAuthGlobalAddress, llvm::ISD::READ_REGISTER, llvm::ISD::Register, llvm::ISD::RegisterMask, llvm::ISD::RETURNADDR, llvm::ISD::ROTL, llvm::ISD::ROTR, llvm::ISD::SADDO, llvm::ISD::SADDO_CARRY, llvm::ISD::SADDSAT, llvm::ISD::SCALAR_TO_VECTOR, llvm::ISD::SCMP, llvm::ISD::SDIV, llvm::ISD::SDIVFIX, llvm::ISD::SDIVFIXSAT, llvm::ISD::SDIVREM, llvm::ISD::SELECT, llvm::ISD::SELECT_CC, SelectionDAG, llvm::ISD::SETCC, llvm::ISD::SETCCCARRY, llvm::ISD::SETEQ, llvm::ISD::SETFALSE, llvm::ISD::SETFALSE2, 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::SETTRUE, llvm::ISD::SETTRUE2, 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::SIGN_EXTEND_VECTOR_INREG, llvm::ISD::SINT_TO_FP, llvm::ISD::SMAX, llvm::ISD::SMIN, llvm::ISD::SMUL_LOHI, llvm::ISD::SMULFIX, llvm::ISD::SMULFIXSAT, llvm::ISD::SMULO, llvm::ISD::SPLAT_VECTOR, llvm::ISD::SPLAT_VECTOR_PARTS, llvm::ISD::SPONENTRY, llvm::ISD::SRA, llvm::ISD::SRA_PARTS, llvm::ISD::SREM, llvm::ISD::SRL, llvm::ISD::SRL_PARTS, llvm::ISD::SSHLSAT, llvm::ISD::SSUBO, llvm::ISD::SSUBO_CARRY, llvm::ISD::SSUBSAT, llvm::ISD::STEP_VECTOR, llvm::StringRef::str(), llvm::ISD::STRICT_FACOS, llvm::ISD::STRICT_FADD, llvm::ISD::STRICT_FASIN, llvm::ISD::STRICT_FATAN, llvm::ISD::STRICT_FATAN2, llvm::ISD::STRICT_FCEIL, llvm::ISD::STRICT_FCOS, llvm::ISD::STRICT_FCOSH, llvm::ISD::STRICT_FDIV, llvm::ISD::STRICT_FEXP, llvm::ISD::STRICT_FEXP2, llvm::ISD::STRICT_FFLOOR, llvm::ISD::STRICT_FLDEXP, llvm::ISD::STRICT_FLOG, llvm::ISD::STRICT_FLOG10, llvm::ISD::STRICT_FLOG2, llvm::ISD::STRICT_FMA, llvm::ISD::STRICT_FMAXIMUM, llvm::ISD::STRICT_FMAXNUM, llvm::ISD::STRICT_FMINIMUM, llvm::ISD::STRICT_FMINNUM, llvm::ISD::STRICT_FMUL, llvm::ISD::STRICT_FNEARBYINT, llvm::ISD::STRICT_FP_EXTEND, llvm::ISD::STRICT_FP_ROUND, llvm::ISD::STRICT_FP_TO_SINT, llvm::ISD::STRICT_FP_TO_UINT, llvm::ISD::STRICT_FPOW, llvm::ISD::STRICT_FPOWI, llvm::ISD::STRICT_FREM, llvm::ISD::STRICT_FRINT, llvm::ISD::STRICT_FROUND, llvm::ISD::STRICT_FROUNDEVEN, llvm::ISD::STRICT_FSETCC, llvm::ISD::STRICT_FSETCCS, llvm::ISD::STRICT_FSIN, llvm::ISD::STRICT_FSINH, llvm::ISD::STRICT_FSQRT, llvm::ISD::STRICT_FSUB, llvm::ISD::STRICT_FTAN, llvm::ISD::STRICT_FTANH, llvm::ISD::STRICT_FTRUNC, llvm::ISD::STRICT_LLRINT, llvm::ISD::STRICT_LLROUND, llvm::ISD::STRICT_LRINT, llvm::ISD::STRICT_LROUND, llvm::ISD::STRICT_SINT_TO_FP, llvm::ISD::STRICT_UINT_TO_FP, llvm::ISD::SUB, llvm::ISD::SUBC, llvm::ISD::SUBE, llvm::ISD::TargetBlockAddress, llvm::ISD::TargetConstant, llvm::ISD::TargetConstantFP, llvm::ISD::TargetConstantPool, llvm::ISD::TargetExternalSymbol, llvm::ISD::TargetFrameIndex, llvm::ISD::TargetGlobalAddress, llvm::ISD::TargetGlobalTLSAddress, llvm::ISD::TargetIndex, llvm::ISD::TargetJumpTable, TII, llvm::ISD::TokenFactor, llvm::ISD::TRUNCATE, llvm::ISD::TRUNCATE_SSAT_S, llvm::ISD::TRUNCATE_SSAT_U, llvm::ISD::TRUNCATE_USAT_U, llvm::ISD::UADDO, llvm::ISD::UADDO_CARRY, llvm::ISD::UADDSAT, llvm::ISD::UCMP, llvm::ISD::UDIV, llvm::ISD::UDIVFIX, llvm::ISD::UDIVFIXSAT, llvm::ISD::UDIVREM, llvm::ISD::UINT_TO_FP, llvm::ISD::UMAX, llvm::ISD::UMIN, llvm::ISD::UMUL_LOHI, llvm::ISD::UMULFIX, llvm::ISD::UMULFIXSAT, llvm::ISD::UMULO, llvm::ISD::UNDEF, llvm::ISD::UREM, llvm::ISD::USHLSAT, llvm::ISD::USUBO, llvm::ISD::USUBO_CARRY, llvm::ISD::USUBSAT, llvm::utostr(), llvm::ISD::VALUETYPE, llvm::ISD::VECTOR_COMPRESS, llvm::ISD::VECTOR_DEINTERLEAVE, llvm::ISD::VECTOR_INTERLEAVE, llvm::ISD::VECTOR_REVERSE, llvm::ISD::VECTOR_SHUFFLE, llvm::ISD::VECTOR_SPLICE, llvm::ISD::VSELECT, llvm::ISD::WRITE_REGISTER, llvm::ISD::XOR, llvm::ISD::ZERO_EXTEND, and llvm::ISD::ZERO_EXTEND_VECTOR_INREG.
Referenced by printr().
◆ getSDVTList()
| SDVTList llvm::SDNode::getSDVTList ( MVT VT) | inlinestaticprotected |
|---|
◆ getSimpleValueType()
| MVT llvm::SDNode::getSimpleValueType ( unsigned ResNo) const | inline |
|---|
Return the type of a specified result as a simple type.
Definition at line 1121 of file SelectionDAGNodes.h.
References llvm::EVT::getSimpleVT(), and getValueType().
Referenced by combineLoad(), getHopForBuildVector(), incDecVectorConstant(), isAddSubOrSubAdd(), isHopBuildVector(), lowerBitreverseShuffle(), lowerBUILD_VECTORAsBroadCastLoad(), lowerBuildVectorAsBlend(), lowerBuildVectorAsBroadcast(), lowerDisjointIndicesShuffle(), lowerShuffleViaVRegSplitting(), lowerToAddSubOrFMAddSub(), LowerToHorizontalOp(), lowerVECTOR_SHUFFLEAsVRGatherVX(), narrowExtractedVectorSelect(), llvm::ResourcePriorityQueue::rawRegPressureDelta(), llvm::ResourcePriorityQueue::scheduledNode(), llvm::RISCVDAGToDAGISel::Select(), llvm::RISCVDAGToDAGISel::selectScalarFPAsInt(), and widenBuildVector().
◆ getValueSizeInBits()
◆ getValueType()
| EVT llvm::SDNode::getValueType ( unsigned ResNo) const | inline |
|---|
Return the type of a specified result.
Definition at line 1115 of file SelectionDAGNodes.h.
References assert().
Referenced by AddCombineTo64bitMLAL(), AdjustLength(), CanCombineFCOPYSIGN_EXTEND_ROUND(), combineADDToMAT_PCREL_ADDR(), combineArithReduction(), combineBasicSADPattern(), combineCarryDiamond(), combineConstantPoolLoads(), combineLoad(), combineMinMaxReduction(), combinePredicateReduction(), combineShiftOfShiftedLogic(), combineShuffleOfBitcast(), combineShuffleOfScalars(), combineShuffleOfSplatVal(), combineShuffleToAnyExtendVectorInreg(), combineShuffleToZeroExtendVectorInReg(), combineToExtendCMOV(), combineTruncate(), combineTruncationShuffle(), combineUADDO_CARRYDiamond(), combineVectorCompareAndMaskUnaryOp(), CombineVMOVDRRCandidateWithVecOp(), combineVPDPBUSDPattern(), combineX86SubCmpForFlags(), Expand64BitShift(), foldBinOpIntoSelectIfProfitable(), foldBinOpIntoSelectIfProfitable(), llvm::SelectionDAG::FoldConstantBuildVector(), foldShuffleOfConcatUndefs(), formSplatFromShuffles(), llvm::SelectionDAG::getCommutedVectorShuffle(), llvm::BuildVectorSDNode::getConstantRawBits(), llvm::HexagonTargetLowering::GetDynamicTLSAddr(), getGluedNode(), llvm::ShuffleVectorSDNode::getMask(), llvm::ShuffleVectorSDNode::getMaskElt(), getMemVTFromNode(), getOneTrueElt(), getSimpleValueType(), llvm::PPC::getSplatIdxForPPCMnemonics(), GetTLSADDR(), getValueSizeInBits(), incDecVectorConstant(), INITIALIZE_PASS(), isAddCarryChain(), isAllConstantBuildVector(), isBitfieldExtractOpFromAnd(), isBitfieldExtractOpFromShr(), llvm::BuildVectorSDNode::isConstantSequence(), llvm::BuildVectorSDNode::isConstantSplat(), llvm::isConstOrConstSplat(), isExtendedBUILD_VECTOR(), isHalvingTruncateAndConcatOfLegalIntScalableType(), llvm::SelectionDAGISel::IsLegalToFold(), isSaturatingMinMax(), isSubBorrowChain(), isValidMtVsrBmi(), lookThroughSignExtension(), llvm::X86TargetLowering::LowerAsmOperandForConstraint(), lowerDSPIntr(), lowerMSACopyIntr(), llvm::SystemZTargetLowering::LowerOperationWrapper(), LowerToTLSExecModel(), LowerToTLSLocalDynamicModel(), lowerVECTOR_SHUFFLE(), lowerVECTOR_SHUFFLEAsRotate(), narrowExtractedVectorLoad(), narrowShuffle(), performAddUADDVCombine(), performANDORCSELCombine(), performCONDCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), performEXTRACT_VECTOR_ELTCombine(), PerformExtractEltToVMOVRRD(), performINTRINSIC_WO_CHAINCombine(), performMADD_MSUBCombine(), PerformMinMaxFpToSatCombine(), performSetccAddFolding(), performSETCCCombine(), performSetCCPunpkCombine(), performSignExtendSetCCCombine(), performSubsToAndsCombine(), performSunpkloCombine(), performSVEAndCombine(), PerformVECREDUCE_ADDCombine(), performVecReduceAddCombineWithUADDLP(), performVECTOR_SHUFFLECombine(), PerformVMOVRRDCombine(), performVP_STORECombine(), performVSELECTCombine(), PerformXORCombine(), print_types(), promoteExtBeforeAdd(), reduceBuildVecToShuffleWithZero(), llvm::SelectionDAG::ReplaceAllUsesWith(), llvm::SparcTargetLowering::ReplaceNodeResults(), resolveBuildVector(), scalarizeExtEltFP(), scalarizeExtractedBinOp(), llvm::SelectionDAGISel::SelectCodeCommon(), llvm::X86InstrInfo::shouldScheduleLoadsNear(), llvm::TargetLowering::SimplifySetCC(), SkipExtensionForVMULL(), tryBuildVectorShuffle(), llvm::RISCVDAGToDAGISel::tryIndexedLoad(), trySimplifySrlAddToRshrnb(), tryToFoldExtendOfConstant(), tryToFoldExtOfMaskedLoad(), tryToWidenSetCCOperands(), widenAbs(), widenBuildVec(), and widenCtPop().
◆ getVTList()
| SDVTList llvm::SDNode::getVTList ( ) const | inline |
|---|
Definition at line 1073 of file SelectionDAGNodes.h.
References X.
Referenced by combineAdd(), combineAddOrSubToADCOrSBB(), combineCarryDiamond(), combineCarryThroughADD(), combineSub(), combineUADDO_CARRYDiamond(), llvm::NVPTXTargetLowering::LowerCall(), performANDCombine(), performCONDCombine(), performSRACombine(), performSubsToAndsCombine(), and simplifyMul24().
◆ hasAnyUseOfValue()
◆ hasNUsesOfValue()
◆ hasOneUse()
| bool llvm::SDNode::hasOneUse ( ) const | inline |
|---|
Return true if there is exactly one use of this node.
Definition at line 775 of file SelectionDAGNodes.h.
References llvm::hasSingleElement(), and uses().
Referenced by combineAdd(), combineAddOrSubToADCOrSBB(), combineAnd(), combineAndnp(), CombineANDShift(), combineCarryThroughADD(), combineSelectAndUseCommutative(), combineSelectAndUseCommutative(), combineSetCC(), combineSetCCMOVMSK(), combineShuffleOfScalars(), combineSub(), combineTargetShuffle(), combineVectorShiftImm(), emitConjunctionRec(), getBT(), getPostIndexedLoadStoreOp(), GetTLSADDR(), isAddSubOrSubAdd(), isAddSubSExt(), isAddSubSExt(), isAddSubZExt(), isAddSubZExt(), IsCMPZCSINC(), llvm::AArch64TargetLowering::isDesirableToCommuteWithShift(), llvm::AMDGPUTargetLowering::isDesirableToCommuteWithShift(), llvm::ARMTargetLowering::isDesirableToCommuteWithShift(), llvm::RISCVTargetLowering::isDesirableToCommuteWithShift(), llvm::TargetLowering::isDesirableToCommuteWithShift(), isF128MovedFromParts(), isI128MovedFromParts(), isLoadOrMultipleLoads(), lower1BitShuffle(), matchBSwapHWordOrAndAnd(), narrowIndex(), PerformADDCombineWithOperands(), PerformADDCombineWithOperands(), performANDORCSELCombine(), performConcatVectorsCombine(), performCONDCombine(), llvm::PPCTargetLowering::PerformDAGCombine(), llvm::RISCVTargetLowering::PerformDAGCombine(), PerformExtractEltToVMOVRRD(), performMulCombine(), performNegCMovCombine(), performNegCSelCombine(), PerformSTORECombine(), PerformSUBCombine(), PerformSUBCombine(), performVANDNCombine(), PerformVMOVRRDCombine(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::TargetLowering::SimplifySetCC(), transformAddImmMulImm(), transformAddShlImm(), tryCombineMULLWithUZP1(), and TryDistrubutionADDVecReduce().
◆ hasPoisonGeneratingFlags()
| bool llvm::SDNode::hasPoisonGeneratingFlags ( ) const | inline |
|---|
◆ hasPredecessor()
◆ hasPredecessorHelper()
Returns true if N is a predecessor of any node in Worklist.
This helper keeps Visited and Worklist sets externally to allow unions searches to be performed in parallel, caching of results across queries and incremental addition to Worklist. Stops early if N is found but will resume. Remember to clear Visited and Worklists if DAG changes. MaxSteps gives a maximum number of nodes to visit before giving up. The TopologicalPrune flag signals that positive NodeIds are topologically ordered (Operands have strictly smaller node id) and search can be pruned leveraging this.
Definition at line 964 of file SelectionDAGNodes.h.
References llvm::SmallVectorImpl< T >::append(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::SmallPtrSetImpl< PtrType >::insert(), MaxSteps, N, op_values(), llvm::SmallVectorImpl< T >::pop_back_val(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), SDNode(), llvm::SmallPtrSetImplBase::size(), and llvm::ISD::TokenFactor.
Referenced by canFoldStoreIntoLibCallOutputPointers(), findNonImmUse(), getPostIndexedLoadStoreOp(), HandleMergeInputChains(), hasPredecessor(), isFusableLoadOpStorePattern(), isFusableLoadOpStorePattern(), isValidBaseUpdate(), PerformMVEVLDCombine(), performNEONPostLDSTCombine(), performPostLD1Combine(), shouldCombineToPostInc(), and tryMemPairCombine().
◆ intersectFlagsWith()
Clear any flags in this node that aren't also set in Flags.
If Flags is not in a defined state then this has no effect.
Definition at line 13192 of file SelectionDAG.cpp.
◆ isAnyAdd()
| bool llvm::SDNode::isAnyAdd ( ) const | inline |
|---|
◆ isAssert()
| bool llvm::SDNode::isAssert ( ) const | inline |
|---|
◆ isDivergent()
| bool llvm::SDNode::isDivergent ( ) const | inline |
|---|
Definition at line 769 of file SelectionDAGNodes.h.
References SDNodeBits.
Referenced by llvm::SITargetLowering::isEligibleForTailCallOptimization(), llvm::SITargetLowering::isReassocProfitable(), llvm::SITargetLowering::LowerCall(), llvm::SITargetLowering::PostISelFolding(), print(), print_details(), llvm::SelectionDAG::ReplaceAllUsesOfValueWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), llvm::SelectionDAG::ReplaceAllUsesWith(), and llvm::SITargetLowering::shouldExpandVectorDynExt().
◆ isMachineOpcode()
| bool llvm::SDNode::isMachineOpcode ( ) const | inline |
|---|
Test if this node has a post-isel opcode, directly corresponding to a MachineInstr opcode.
Definition at line 756 of file SelectionDAGNodes.h.
Referenced by llvm::ARMBaseInstrInfo::areLoadsFromSameBasePtr(), llvm::SIInstrInfo::areLoadsFromSameBasePtr(), llvm::X86InstrInfo::areLoadsFromSameBasePtr(), getMachineOpcode(), llvm::ARMBaseInstrInfo::getOperandLatency(), llvm::TargetInstrInfo::getOperandLatency(), getOperationName(), getUsefulBitsForUse(), llvm::ResourcePriorityQueue::isResourceAvailable(), llvm::ResourcePriorityQueue::rawRegPressureDelta(), llvm::ResourcePriorityQueue::regPressureDelta(), llvm::ResourcePriorityQueue::reserveResources(), llvm::ResourcePriorityQueue::scheduledNode(), llvm::SelectionDAGISel::SelectCodeCommon(), and usesAllOnesMask().
◆ isMemIntrinsic()
| bool llvm::SDNode::isMemIntrinsic ( ) const | inline |
|---|
◆ isOnlyUserOf()
◆ isOperandOf()
◆ isPredecessorOf()
◆ isStrictFPOpcode()
| bool llvm::SDNode::isStrictFPOpcode ( ) | inline |
|---|
◆ isTargetOpcode()
| bool llvm::SDNode::isTargetOpcode ( ) const | inline |
|---|
◆ isUndef()
| bool llvm::SDNode::isUndef ( ) const | inline |
|---|
Returns true if the node type is UNDEF or POISON.
Definition at line 710 of file SelectionDAGNodes.h.
References llvm::ISD::POISON, and llvm::ISD::UNDEF.
Referenced by combineBinOpToReduce(), ExpandHorizontalBinOp(), llvm::BuildVectorSDNode::getRepeatedSequence(), llvm::BuildVectorSDNode::getSplatValue(), LowerToHorizontalOp(), LowerVECTOR_SHUFFLE(), LowerVECTOR_SHUFFLEv8i8(), llvm::VETargetLowering::lowerVVP_GATHER_SCATTER(), llvm::VETargetLowering::lowerVVP_LOAD_STORE(), llvm::RISCVTargetLowering::PerformDAGCombine(), performSPLIT_PAIR_F64Combine(), performUnpackCombine(), and PerformVMOVNCombine().
◆ isVPOpcode()
| bool llvm::SDNode::isVPOpcode ( ) const | inline |
|---|
◆ op_begin()
| op_iterator llvm::SDNode::op_begin ( ) const | inline |
|---|
◆ op_end()
| op_iterator llvm::SDNode::op_end ( ) const | inline |
|---|
◆ op_values()
Definition at line 1068 of file SelectionDAGNodes.h.
References llvm::make_range(), op_begin(), and op_end().
Referenced by combineX86SubCmpForFlags(), findNonImmUse(), llvm::SelectionDAG::FoldConstantBuildVector(), hasPredecessorHelper(), llvm::BuildVectorSDNode::isConstant(), llvm::SelectionDAG::isUndef(), isValidMtVsrBmi(), LowerToHorizontalOp(), performExtBinopLoadFold(), performVSelectCombine(), and widenBuildVec().
◆ ops()
Definition at line 1054 of file SelectionDAGNodes.h.
References llvm::ArrayRef(), op_begin(), and op_end().
Referenced by canFoldStoreIntoLibCallOutputPointers(), combineBitcast(), combineConcatVectorOfShuffleAndItsOperands(), combineEXTRACT_SUBVECTOR(), combineShuffleToZeroExtendVectorInReg(), combineStore(), ExtendToType(), extractSubVector(), extractSubVector(), findConsecutiveLoad(), insert1BitVector(), isFusableLoadOpStorePattern(), isFusableLoadOpStorePattern(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), lowerBuildVectorAsBlend(), LowerShift(), mergeEltWithShuffle(), narrowIndex(), performBuildShuffleExtendCombine(), llvm::AMDGPUTargetLowering::performFNegCombine(), performINSERT_VECTOR_ELTCombine(), replaceAtomicSwap128(), scalarizeExtEltFP(), and widenSubVector().
◆ print()
◆ print_details()
Definition at line 680 of file SelectionDAGDumper.cpp.
References A(), llvm::dyn_cast(), llvm::ISD::EXTLOAD, G, getFlags(), getHasDebugValue(), getIndexedModeName(), getIROrder(), llvm::Value::getName(), getNodeId(), hasNoSignedWrap(), hasNoUnsignedWrap(), llvm::APFloatBase::IEEEdouble(), llvm::APFloatBase::IEEEsingle(), llvm::isa(), isDivergent(), N, printMemOperand(), llvm::printReg(), Scaled, SelectionDAG, llvm::ISD::SEXTLOAD, llvm::Signed, VerboseDAGDumping, and llvm::ISD::ZEXTLOAD.
Referenced by printr().
◆ print_types()
◆ printr()
◆ printrFull()
◆ printrWithDepth()
◆ Profile()
◆ setCFIType()
| void llvm::SDNode::setCFIType ( uint32_t Type) | inline |
|---|
◆ setCombinerWorklistIndex()
| void llvm::SDNode::setCombinerWorklistIndex ( int Index) | inline |
|---|
◆ setDebugLoc()
| void llvm::SDNode::setDebugLoc ( DebugLoc dl) | inline |
|---|
Set source location info.
Try to avoid this, putting it in the constructor is preferable.
Definition at line 804 of file SelectionDAGNodes.h.
◆ setFlags()
| void llvm::SDNode::setFlags ( SDNodeFlags NewFlags) | inline |
|---|
◆ setHasDebugValue()
| void llvm::SDNode::setHasDebugValue ( bool b) | inline |
|---|
◆ setIROrder()
| void llvm::SDNode::setIROrder ( unsigned Order) | inline |
|---|
◆ setNodeId()
| void llvm::SDNode::setNodeId ( int Id) | inline |
|---|
◆ use_begin()
◆ use_empty()
| bool llvm::SDNode::use_empty ( ) const | inline |
|---|
◆ use_end()
◆ use_size()
| size_t llvm::SDNode::use_size ( ) const | inline |
|---|
◆ user_begin()
◆ user_end()
◆ users() [1/2]
Definition at line 907 of file SelectionDAGNodes.h.
References llvm::make_range(), user_begin(), and user_end().
Referenced by llvm::AMDGPUTargetLowering::addTokenForArgument(), adjustForLTGFR(), llvm::RISCVDAGToDAGISel::areOffsetsWithinAlignment(), combineBROADCAST_LOAD(), combineConstantPoolLoads(), combineExtractVectorElt(), combineLoad(), combineShiftToMULH(), findConsecutiveLoad(), hasVolatileUser(), isHorizontalBinOp(), isOnlyUsedByStores(), isWorthFoldingSHL(), lowerShufflePairAsUNPCKAndPermute(), mayBeSRetTailCallCompatible(), narrowBitOpRMW(), llvm::PPCTargetLowering::PerformDAGCombine(), PerformExtractEltToVMOVRRD(), PerformFADDCombineWithOperands(), llvm::AMDGPUTargetLowering::performFNegCombine(), performGlobalAddressCombine(), PerformREMCombine(), performSRACombine(), promoteExtBeforeAdd(), llvm::X86TargetLowering::SimplifyDemandedVectorEltsForTargetNode(), tryCombineMULLWithUZP1(), tryToFoldExtOfLoad(), and useSinCos().
◆ users() [2/2]
◆ uses() [1/2]
Definition at line 895 of file SelectionDAGNodes.h.
References llvm::make_range(), use_begin(), and use_end().
Referenced by CombineBaseUpdate(), combineTruncate(), CombineVLDDUP(), ExtendUsesToFormExtLoad(), getGluedUser(), getPostIndexedLoadStoreOp(), hasAnyUseOfValue(), hasNUsesOfValue(), hasOneUse(), performExtractVectorEltCombine(), performMemPairCombine(), PerformMVEVLDCombine(), performNEONPostLDSTCombine(), performPostLD1Combine(), llvm::SelectionDAG::ReplaceAllUsesOfValuesWith(), and llvm::SelectionDAGISel::SelectCodeCommon().
◆ uses() [2/2]
◆ value_begin()
| value_iterator llvm::SDNode::value_begin ( ) const | inline |
|---|
◆ value_end()
| value_iterator llvm::SDNode::value_end ( ) const | inline |
|---|
◆ values()
◆ HandleSDNode
◆ SelectionDAG
Definition at line 653 of file SelectionDAGNodes.h.
References SelectionDAG.
Referenced by dump(), dumpr(), dumprFull(), dumprWithDepth(), getOperationName(), print(), print_details(), print_types(), printr(), printrFull(), printrWithDepth(), and SelectionDAG.
◆ [union]
◆ ConstantSDNodeBits
◆ LoadSDNodeBits
Definition at line 627 of file SelectionDAGNodes.h.
Referenced by llvm::AtomicSDNode::AtomicSDNode(), llvm::AtomicSDNode::getExtensionType(), llvm::LoadSDNode::getExtensionType(), llvm::MaskedGatherSDNode::getExtensionType(), llvm::MaskedLoadSDNode::getExtensionType(), llvm::VPLoadSDNode::getExtensionType(), llvm::VPStridedLoadSDNode::getExtensionType(), llvm::MaskedLoadSDNode::isExpandingLoad(), llvm::VPLoadSDNode::isExpandingLoad(), llvm::VPStridedLoadSDNode::isExpandingLoad(), llvm::MaskedGatherSDNode::MaskedGatherSDNode(), llvm::MaskedLoadSDNode::MaskedLoadSDNode(), llvm::LoadSDNode::SelectionDAG, llvm::VPLoadSDNode::VPLoadSDNode(), and llvm::VPStridedLoadSDNode::VPStridedLoadSDNode().
◆ LSBaseSDNodeBits
Definition at line 626 of file SelectionDAGNodes.h.
Referenced by llvm::LSBaseSDNode::getAddressingMode(), llvm::MaskedLoadStoreSDNode::getAddressingMode(), llvm::VPBaseLoadStoreSDNode::getAddressingMode(), llvm::MaskedGatherScatterSDNode::getIndexType(), llvm::MaskedHistogramSDNode::getIndexType(), llvm::VPGatherScatterSDNode::getIndexType(), llvm::LSBaseSDNode::LSBaseSDNode(), llvm::MaskedGatherScatterSDNode::MaskedGatherScatterSDNode(), llvm::MaskedLoadStoreSDNode::MaskedLoadStoreSDNode(), llvm::VPBaseLoadStoreSDNode::VPBaseLoadStoreSDNode(), and llvm::VPGatherScatterSDNode::VPGatherScatterSDNode().
◆ MemSDNodeBits
◆ PersistentId
uint16_t llvm::SDNode::PersistentId = 0xffff
Unique and persistent id per SDNode in the DAG.
Used for debug printing. We do not place that under #if LLVM_ENABLE_ABI_BREAKING_CHECKS intentionally because it adds unneeded complexity without noticeable benefits (see discussion with @thakis in D120714). Currently, there are two padding bytes after this field.
Definition at line 650 of file SelectionDAGNodes.h.
Referenced by llvm::HandleSDNode::HandleSDNode().
◆ RawSDNodeBits
◆ SDNodeBits
◆ StoreSDNodeBits
Definition at line 628 of file SelectionDAGNodes.h.
Referenced by llvm::MaskedStoreSDNode::isCompressingStore(), llvm::VPStoreSDNode::isCompressingStore(), llvm::VPStridedStoreSDNode::isCompressingStore(), llvm::MaskedScatterSDNode::isTruncatingStore(), llvm::MaskedStoreSDNode::isTruncatingStore(), llvm::StoreSDNode::isTruncatingStore(), llvm::VPStoreSDNode::isTruncatingStore(), llvm::VPStridedStoreSDNode::isTruncatingStore(), llvm::MaskedScatterSDNode::MaskedScatterSDNode(), llvm::MaskedStoreSDNode::MaskedStoreSDNode(), llvm::StoreSDNode::SelectionDAG, llvm::VPStoreSDNode::VPStoreSDNode(), and llvm::VPStridedStoreSDNode::VPStridedStoreSDNode().
The documentation for this class was generated from the following files:
- include/llvm/CodeGen/SelectionDAGNodes.h
- lib/CodeGen/SelectionDAG/SelectionDAG.cpp
- lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp