llvm::ExternalSymbolSDNode

SDNode referencing an external symbol name.

Synopsis

Declared in <llvm/CodeGen/SelectionDAGNodes.h>

class ExternalSymbolSDNode
    : public SDNode

Base Classes

NameDescription
SDNodeRepresents one node in the SelectionDAG.

Types

NameDescription
use_iterator Iterator over SDUse operands that use a specific SDNode.
user_iterator Iterator over SDNodes that use a specific SDNode.
value_op_iterator Iterator for directly iterating over the operand SDValue's.

Type Aliases

NameDescription
op_iterator Iterator type over this node's SDUse operands.
value_iterator Iterator type over this node's result value types.

Member Functions

NameDescription
Profile Gather unique data for the node into folding-set id ID.
addUse Add use U to this node's use list (SDUse only).
bitcastToAPInt Bitcast a constant integer or FP node to an APInt when possible.
dropFlags Clear flag bits set in Mask.
dump dump overloads
dumpr dumpr overloads
dumprFull Dump the full recursive print of this node to dbgs().
dumprWithDepth Dump a depth-limited recursive print of this node to dbgs().
getAsAPIntVal Helper method returns the APInt value of a ConstantSDNode.
getAsZExtVal Helper method returns the zero-extended integer value of a ConstantSDNode.
getCFIType Return the CFI type identifier for this node.
getCombinerWorklistIndex Get worklist index for DAGCombiner
getConstantOperandAPInt Helper method returns the APInt of a ConstantSDNode operand.
getConstantOperandVal Helper method returns the integer value of a ConstantSDNode operand.
getDebugLoc Return the source location info.
getFlags Return the optimization flags attached to this node.
getGluedNode If this node has a glue operand, return the node to which the glue operand points. Otherwise return NULL.
getGluedUser If this node has a glue value with a user, return the user (there is at most one). Otherwise return NULL.
getHasDebugValue Return true if this node has an associated debug value.
getIROrder Return the node ordering.
getMachineOpcode This may only be called if isMachineOpcode returns true. It returns the MachineInstr opcode value that the node's opcode corresponds to.
getNodeId Return the unique node id.
getNumOperands Return the number of values used by this operation.
getNumValues Return the number of values defined/returned by this operator.
getOpcode Return the SelectionDAG opcode value for this node.
getOperand Return operand Num of this node.
getOperationName Return the opcode of this operation for printing.
getSchedulerWorklistVisited Get visited state for ScheduleDAGSDNodes::BuildSchedUnits.
getSimpleValueType Return the type of a specified result as a simple type.
getSymbol Return the symbol name.
getTargetFlags Return target-dependent flags.
getVTList Return the SDVTList describing this node's result types.
getValueSizeInBits Return the size in bits of result ResNo.
getValueType Return the type of a specified result.
hasAnyUseOfValue Return true if there are any use 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.
hasOneUse Return true if there is exactly one use of this node.
hasPoisonGeneratingFlags Return true if any poison-generating flag is set.
hasPredecessor Return true if N is a predecessor of this node.
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.
isAnyAdd Returns true if the node type is ADD or PTRADD.
isAssert Test if this node is an assert operation.
isDivergent Return true if this node is divergent.
isMachineOpcode Test if this node has a post-isel opcode, directly corresponding to a MachineInstr opcode.
isMemIntrinsic Test if this node is a memory intrinsic (with valid pointer information).
isOnlyUserOf Return true if this node is the only use of N.
isOperandOf Return true if this node is an operand of N.
isPredecessorOf Return true if this node is a predecessor of N. NOTE: Implemented on top of hasPredecessor and every bit as expensive. Use carefully.
isStrictFPOpcode Test if this node is a strict floating point pseudo-op.
isTargetOpcode Test if this node has a target-specific opcode (in the <target>ISD namespace).
isUndef Returns true if the node type is UNDEF or POISON.
isVPOpcode Test if this node is a vector predication operation.
op_begin Return an iterator to the first operand.
op_end Return an iterator past the last operand.
op_values Return a range over operand SDValues.
ops Return this node's operands as an ArrayRef of SDUse.
print Print this node to OS.
print_details Print this node's details to OS.
print_types Print this node's result types to OS.
printr Print this node recursively to OS.
printrFull Print this node and all children down to the leaves.
printrWithDepth Print this node and children up to depth depth.
setCFIType Set the CFI type identifier for this node.
setCombinerWorklistIndex Set worklist index for DAGCombiner.
setDebugLoc Set source location info. Try to avoid this, putting it in the constructor is preferable.
setFlags Replace this node's optimization flags.
setHasDebugValue Set whether this node has an associated debug value.
setIROrder Set the node ordering.
setNodeId Set unique node id.
setSchedulerWorklistVisited Set visited state for ScheduleDAGSDNodes::BuildSchedUnits.
use_begin Provide iteration support to walk over all uses of an SDNode.
use_empty Return true if there are no uses of this node.
use_size Return the number of uses of this node. This method takes time proportional to the number of uses.
user_begin Provide iteration support to walk over all users of an SDNode.
users users overloads
uses uses overloads
value_begin Return an iterator to the first result value type.
value_end Return an iterator past the last result value type.
values Return a range over this node's result value types.

Static Member Functions

NameDescription
areOnlyUsersOf Return true if all the users of N are contained in Nodes. NOTE: Requires at least one match, but doesn't require them all.
classof Methods for support type inquiry through isa, cast, and dyn_cast.
getIndexedModeName Return a printable name for indexed mode AM.
getMaxNumOperands Return the maximum number of operands that a SDNode can hold.
hasPredecessorHelper Return true if N is a predecessor of any node in Worklist.
use_end Return the end iterator for the use list.
user_end Return the end iterator for the user list.

Data Members

NameDescription
CombinerWorklistIndex [variant member]DAGCombiner worklist index, or a negative sentinel.
ConstantSDNodeBits [variant member]ConstantSDNode bitfields.
LSBaseSDNodeBits [variant member]LSBaseSDNode bitfields.
LoadSDNodeBits [variant member]LoadSDNode bitfields.
MemSDNodeBits [variant member]MemSDNode bitfields.
PersistentId Unique persistent id per SDNode used for debug printing.
RawSDNodeBits [variant member]Raw bytes overlaying subclass bitfields.
SDNodeBits [variant member]Base SDNode bitfields.
SchedulerWorklistVisited [variant member]Visited state in ScheduleDAGSDNodes::BuildSchedUnits.
StoreSDNodeBits [variant member]StoreSDNode bitfields.

Protected Types

NameDescription
Unnamed union
ConstantSDNodeBitfields Bitfields specific to ConstantSDNode.
LSBaseSDNodeBitfields Bitfields for load/store addressing mode and related hierarchies.
LoadSDNodeBitfields Bitfields specific to load-like SDNode subclasses.
MemSDNodeBitfields Bitfields shared by memory-accessing SDNode subclasses.
SDNodeBitfields Bitfields shared by all SDNode subclasses in SubclassData.
StoreSDNodeBitfields Bitfields specific to store-like SDNode subclasses.

Protected Enums

NameDescription
Unnamed enum Width of SDNodeBitfields in SubclassData.

Protected Member Functions

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

Protected Static Member Functions

NameDescription
getSDVTList Return an SDVTList for single simple type VT.

Friends

NameDescription
llvm::SelectionDAGThis is used to represent a portion of an LLVM function as a DAG.

Non-Member Functions

NameDescription
checkForCyclesCheck the subgraph rooted at N for cycles.
ISD::allOperandsUndefReturn true if all operands of N are ISD::UNDEF.
ISD::isBuildVectorAllOnesReturn true if N is a BUILD_VECTOR of all ones or undef.
ISD::isBuildVectorAllZerosReturn true if N is a BUILD_VECTOR of all zeros or undef.
ISD::isBuildVectorOfConstantFPSDNodesReturn true if N is a BUILD_VECTOR of ConstantFPSDNode or undef.
ISD::isBuildVectorOfConstantSDNodesReturn true if N is a BUILD_VECTOR of ConstantSDNode or undef.
ISD::isConstantSplatVectorReturn true if N is a constant splat BUILD_VECTOR or SPLAT_VECTOR.
ISD::isConstantSplatVectorAllOnesReturn true if N is an all-ones constant splat vector.
ISD::isConstantSplatVectorAllZerosReturn true if N is an all-zeros constant splat vector.
ISD::isEXTLoadReturns true if the specified node is a EXTLOAD.
ISD::isFreezeUndefReturn true if N is FREEZE(UNDEF).
ISD::isNON_EXTLoadReturns true if the specified node is a non-extending load.
ISD::isNormalLoadReturns true if the specified node is a non-extending and unindexed load.
ISD::isNormalMaskedLoadReturns true if N is a non-extending unindexed masked load.
ISD::isNormalMaskedStoreReturns true if N is a non-truncating unindexed masked store.
ISD::isNormalStoreReturns true if the specified node is a non-truncating unindexed store.
ISD::isSEXTLoadReturns true if the specified node is a SEXTLOAD.
ISD::isUNINDEXEDLoadReturns true if the specified node is an unindexed load.
ISD::isUNINDEXEDStoreReturns true if the specified node is an unindexed store.
ISD::isVectorShrinkableReturn true if vector elements of N shrink to NewEltSize.
ISD::isZEXTLoadReturns true if the specified node is a ZEXTLOAD.
SDPatternMatch::sd_context_matchMatch SDNode N (result 0) against pattern P under context Ctx.
SDPatternMatch::sd_matchMatch SDNode N against pattern P without a SelectionDAG.
SDPatternMatch::sd_matchMatch SDNode N against pattern P using a BasicMatchContext for DAG.