|
LLVM
8.0.1
|
#include "llvm/CodeGen/SelectionDAGNodes.h"


Public Member Functions | |
| const ConstantInt * | getConstantIntValue () const |
| const APInt & | getAPIntValue () const |
| uint64_t | getZExtValue () const |
| int64_t | getSExtValue () const |
| uint64_t | getLimitedValue (uint64_t Limit=UINT64_MAX) |
| bool | isOne () const |
| bool | isNullValue () const |
| bool | isAllOnesValue () const |
| bool | isOpaque () const |
Public Member Functions inherited from llvm::SDNode | |
| unsigned | getOpcode () const |
| Return the SelectionDAG opcode value for this node. More... | |
| bool | isTargetOpcode () const |
| Test if this node has a target-specific opcode (in the <target>ISD namespace). More... | |
| bool | isTargetMemoryOpcode () const |
| Test if this node has a target-specific memory-referencing opcode (in the <target>ISD namespace and greater than FIRST_TARGET_MEMORY_OPCODE). More... | |
| bool | isUndef () const |
| Return true if the type of the node type undefined. More... | |
| bool | isMemIntrinsic () const |
| Test if this node is a memory intrinsic (with valid pointer information). More... | |
| bool | isStrictFPOpcode () |
| Test if this node is a strict floating point pseudo-op. More... | |
| bool | isMachineOpcode () const |
| Test if this node has a post-isel opcode, directly corresponding to a MachineInstr opcode. More... | |
| unsigned | getMachineOpcode () const |
| This may only be called if isMachineOpcode returns true. More... | |
| bool | getHasDebugValue () const |
| void | setHasDebugValue (bool b) |
| bool | isDivergent () const |
| bool | use_empty () const |
| Return true if there are no uses of this node. More... | |
| bool | hasOneUse () const |
| Return true if there is exactly one use of this node. More... | |
| size_t | use_size () const |
| Return the number of uses of this node. More... | |
| int | getNodeId () const |
| Return the unique node id. More... | |
| void | setNodeId (int Id) |
| Set unique node id. More... | |
| unsigned | getIROrder () const |
| Return the node ordering. More... | |
| void | setIROrder (unsigned Order) |
| Set the node ordering. More... | |
| const DebugLoc & | getDebugLoc () const |
| Return the source location info. More... | |
| void | setDebugLoc (DebugLoc dl) |
| Set source location info. More... | |
| use_iterator | use_begin () const |
| Provide iteration support to walk over all uses of an SDNode. More... | |
| iterator_range< use_iterator > | uses () |
| iterator_range< use_iterator > | uses () const |
| bool | hasNUsesOfValue (unsigned NUses, unsigned Value) const |
| Return true if there are exactly NUSES uses of the indicated value. More... | |
| bool | hasAnyUseOfValue (unsigned Value) const |
| Return true if there are any use of the indicated value. More... | |
| bool | isOnlyUserOf (const SDNode *N) const |
| Return true if this node is the only use of N. More... | |
| bool | isOperandOf (const SDNode *N) const |
| Return true if this node is an operand of N. More... | |
| bool | isPredecessorOf (const SDNode *N) const |
| Return true if this node is a predecessor of N. More... | |
| bool | hasPredecessor (const SDNode *N) const |
| Return true if N is a predecessor of this node. More... | |
| unsigned | getNumOperands () const |
| Return the number of values used by this operation. More... | |
| uint64_t | getConstantOperandVal (unsigned Num) const |
| Helper method returns the integer value of a ConstantSDNode operand. More... | |
| 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. More... | |
| SDNode * | getGluedUser () const |
| If this node has a glue value with a user, return the user (there is at most one). More... | |
| const SDNodeFlags | getFlags () const |
| void | setFlags (SDNodeFlags NewFlags) |
| bool | isFast () |
| void | intersectFlagsWith (const SDNodeFlags Flags) |
| Clear any flags in this node that aren't also set in Flags. More... | |
| unsigned | getNumValues () const |
| Return the number of values defined/returned by this operator. More... | |
| EVT | getValueType (unsigned ResNo) const |
| Return the type of a specified result. More... | |
| MVT | getSimpleValueType (unsigned ResNo) const |
| Return the type of a specified result as a simple type. More... | |
| unsigned | getValueSizeInBits (unsigned ResNo) const |
| Returns MVT::getSizeInBits(getValueType(ResNo)). More... | |
| value_iterator | value_begin () const |
| value_iterator | value_end () const |
| std::string | getOperationName (const SelectionDAG *G=nullptr) const |
| Return the opcode of this operation for printing. More... | |
| void | print_types (raw_ostream &OS, const SelectionDAG *G) const |
| void | print_details (raw_ostream &OS, const SelectionDAG *G) const |
| void | print (raw_ostream &OS, const SelectionDAG *G=nullptr) const |
| void | printr (raw_ostream &OS, const SelectionDAG *G=nullptr) const |
| void | printrFull (raw_ostream &O, const SelectionDAG *G=nullptr) const |
| Print a SelectionDAG node and all children down to the leaves. More... | |
| 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. More... | |
| void | dump () const |
| Dump this node, for debugging. More... | |
| void | dumpr () const |
| Dump (recursively) this node and its use-def subgraph. More... | |
| void | dump (const SelectionDAG *G) const |
| Dump this node, for debugging. More... | |
| void | dumpr (const SelectionDAG *G) const |
| Dump (recursively) this node and its use-def subgraph. More... | |
| void | dumprFull (const SelectionDAG *G=nullptr) const |
| printrFull to dbgs(). More... | |
| void | dumprWithDepth (const SelectionDAG *G=nullptr, unsigned depth=100) const |
| printrWithDepth to dbgs(). More... | |
| void | Profile (FoldingSetNodeID &ID) const |
| Gather unique data for the node. More... | |
| void | addUse (SDUse &U) |
| This method should only be used by the SDUse class. More... | |
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 () |
| const_self_iterator | getIterator () const |
| reverse_self_iterator | getReverseIterator () |
| const_reverse_self_iterator | getReverseIterator () const |
| bool | isSentinel () const |
| Check whether this is the sentinel node. More... | |
Static Public Member Functions | |
| static bool | classof (const SDNode *N) |
Static Public Member Functions inherited from llvm::SDNode | |
| static use_iterator | use_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. More... | |
| static bool | areOnlyUsersOf (ArrayRef< const SDNode *> Nodes, const SDNode *N) |
| Return true if all the users of N are contained in Nodes. More... | |
| static const char * | getIndexedModeName (ISD::MemIndexedMode AM) |
Friends | |
| class | SelectionDAG |
Definition at line 1502 of file SelectionDAGNodes.h.
Definition at line 1529 of file SelectionDAGNodes.h.
References llvm::ISD::Constant, llvm::SDNode::getOpcode(), and llvm::ISD::TargetConstant.
Definition at line 1516 of file SelectionDAGNodes.h.
References llvm::ConstantInt::getValue().
Referenced by bitOpWithConstantIsReducible(), calculateByteProvider(), llvm::SelectionDAGISel::CheckAndMask(), llvm::SelectionDAGISel::CheckOrMask(), combineAddToSUBUS(), combineSelect(), combineShiftLeft(), CombineVMOVDRRCandidateWithVecOp(), llvm::SelectionDAG::computeKnownBits(), llvm::ARMTargetLowering::computeKnownBitsForTargetNode(), llvm::SelectionDAG::ComputeNumSignBits(), convertShiftLeftToScale(), detectAVGPattern(), extractShiftForRotate(), foldAddSubOfSignBit(), foldBitcastedFPLogic(), llvm::SelectionDAG::FoldConstantArithmetic(), llvm::SelectionDAG::GetDemandedBits(), getFPTernOp(), llvm::SelectionDAG::getNode(), getPermuteMask(), getPowerOf2Factor(), getTargetVShiftByConstNode(), isBooleanFlip(), isBSwapHWordElement(), isConstantOrConstantVector(), llvm::TargetLowering::isConstFalseVal(), isConstOrDemandedConstSplat(), llvm::TargetLowering::isExtendedTrueVal(), isMemOPCandidate(), isPowerOf2Constant(), IsSingleInstrConstant(), llvm::SelectionDAG::isSplatValue(), isTargetConstant(), isTruncateOf(), llvm::HexagonTargetLowering::LowerSETCC(), matchRotateSub(), minMaxOpcToMin3Max3Opc(), performANDCombine(), llvm::ARMTargetLowering::PerformCMOVToBFICombine(), performMulCombine(), PerformORCombineToBFI(), replaceShuffleOfInsert(), llvm::AVRDAGToDAGISel::SelectInlineAsmMemoryOperand(), ShrinkLoadReplaceStoreWithStore(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::TargetLowering::SimplifyDemandedVectorElts(), simplifyDivRem(), skipExtensionForVectorMULL(), SkipExtensionForVMULL(), llvm::X86TargetLowering::targetShrinkDemandedConstant(), tryFoldToZero(), TryMULWIDECombine(), and UnrollVectorShift().
|
inline |
Definition at line 1515 of file SelectionDAGNodes.h.
Referenced by AddNodeIDCustom(), and canFoldInAddressingMode().
|
inline |
Definition at line 1519 of file SelectionDAGNodes.h.
References llvm::ConstantInt::getLimitedValue().
Referenced by calculateByteProvider().
|
inline |
Definition at line 1518 of file SelectionDAGNodes.h.
References llvm::ConstantInt::getSExtValue().
Referenced by llvm::X86InstrInfo::areLoadsFromSameBasePtr(), canFoldInAddressingMode(), checkHighLaneIndex(), CheckInteger(), combineMul(), llvm::createARCISelDag(), createCMovFP(), llvm::createXCoreISelDag(), foldMaskedShiftToBEXTR(), llvm::SelectionDAG::FoldSymbolOffset(), getConstantValue(), getEstimate(), isExtendedBUILD_VECTOR(), isStackPtrRelative(), llvm::AVRTargetLowering::LowerAsmOperandForConstraint(), llvm::ARMTargetLowering::LowerAsmOperandForConstraint(), llvm::PPCTargetLowering::LowerAsmOperandForConstraint(), llvm::TargetLowering::LowerAsmOperandForConstraint(), llvm::HexagonTargetLowering::LowerDYNAMIC_STACKALLOC(), llvm::LanaiTargetLowering::LowerMUL(), mayTailCallThisCC(), mayUseP9Setb(), PerformMULCombine(), performORCombine(), performSELECTCombine(), selectI64Imm(), and tryFoldToZero().
|
inline |
Definition at line 1517 of file SelectionDAGNodes.h.
References llvm::ConstantInt::getZExtValue().
Referenced by AddCombineBUILD_VECTORToVPADDL(), adjustForTestUnderMask(), llvm::SIInstrInfo::areLoadsFromSameBasePtr(), bitOpWithConstantIsReducible(), calculateByteProvider(), checkBoolTestSetCCCombine(), combineADDToADDZE(), CombineANDShift(), CombineBaseUpdate(), combineBVOfVecSExt(), combineCCMask(), combineConcatVectorOfExtracts(), combineMul(), llvm::SelectionDAG::computeKnownBits(), llvm::AMDGPUTargetLowering::computeKnownBitsForTargetNode(), llvm::AArch64TargetLowering::computeKnownBitsForTargetNode(), llvm::ARMTargetLowering::computeKnownBitsForTargetNode(), llvm::SelectionDAG::ComputeNumSignBits(), llvm::AMDGPUTargetLowering::ComputeNumSignBitsForTargetNode(), ConstantBuildVector(), ConvertCarryFlagToBooleanCarry(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::BPFSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::HexagonSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::ARMSelectionDAGInfo::EmitTargetCodeForMemcpy(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), foldAddSubOfSignBit(), getAArch64Cmp(), getConstantValue(), getContiguousRangeOfSetBits(), getEstimate(), getExtendTypeForNode(), getMad64_32(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::SelectionDAG::getNode(), getPermuteMask(), llvm::HexagonTargetLowering::getTargetNodeName(), insertDAGNode(), isAllConstantBuildVector(), isBLACompatibleAddress(), isBSwapHWordElement(), isMemOPCandidate(), isPerfectIncrement(), isSimpleShift(), llvm::SelectionDAG::isSplatValue(), isStackPtrRelative(), isWorthFoldingSHL(), LowerAndToBT(), llvm::AVRTargetLowering::LowerAsmOperandForConstraint(), llvm::TargetLowering::LowerAsmOperandForConstraint(), LowerATOMIC_FENCE(), lowerVectorShuffleAsBroadcast(), maskMatters(), mayTailCallThisCC(), performANDCombine(), PerformANDCombine(), PerformBFICombine(), performCMovFPCombine(), llvm::R600TargetLowering::PerformDAGCombine(), llvm::AMDGPUTargetLowering::PerformDAGCombine(), performORCombine(), PerformORCombineToBFI(), performSELECTCombine(), llvm::AMDGPUTargetLowering::performShlCombine(), performSHLCombine(), llvm::AMDGPUTargetLowering::performSraCombine(), performSRACombine(), llvm::AMDGPUTargetLowering::performSrlCombine(), replaceSplatVectorStore(), llvm::TargetLowering::SimplifyDemandedBits(), llvm::TargetLowering::SimplifyDemandedVectorElts(), simplifyDivRem(), stripModuloOnShift(), llvm::AArch64TargetLowering::targetShrinkDemandedConstant(), llvm::ARMTargetLowering::targetShrinkDemandedConstant(), tryCombineCRC32(), tryCombineToBSL(), tryFoldToZero(), and tryLowerToSLI().
|
inline |
Definition at line 1525 of file SelectionDAGNodes.h.
References llvm::ConstantInt::isMinusOne().
Referenced by getMad64_32(), llvm::isAllOnesConstant(), llvm::isAllOnesOrAllOnesSplat(), llvm::isBitwiseNot(), isBooleanFlip(), llvm::TargetLowering::isExtendedTrueVal(), LowerXOR(), mayTailCallThisCC(), parseTexFail(), llvm::TargetLowering::SimplifyDemandedBits(), and simplifyDivRem().
|
inline |
Definition at line 1524 of file SelectionDAGNodes.h.
References llvm::ConstantInt::isZero().
Referenced by ConvertSelectToConcatVector(), llvm::XCoreTargetLowering::EmitInstrWithCustomInserter(), llvm::AArch64SelectionDAGInfo::EmitTargetCodeForMemset(), llvm::X86SelectionDAGInfo::EmitTargetCodeForMemset(), getAArch64Cmp(), getExpandedMinMaxOps(), getMad64_32(), llvm::SelectionDAG::getMemcpy(), llvm::SelectionDAG::getMemmove(), llvm::SelectionDAG::getMemset(), llvm::TargetLowering::isConstFalseVal(), llvm::SelectionDAG::isKnownNeverZero(), llvm::isNullConstant(), llvm::isNullOrNullSplat(), LowerXOR(), mayTailCallThisCC(), mayUseP9Setb(), llvm::AMDGPUTargetLowering::performCtlz_CttzCombine(), replaceShuffleOfInsert(), selectI64Imm(), and simplifyDivRem().
|
inline |
Definition at line 1523 of file SelectionDAGNodes.h.
References llvm::ConstantInt::isOne().
Referenced by getAArch64Cmp(), isBooleanFlip(), llvm::TargetLowering::isExtendedTrueVal(), llvm::isOneConstant(), llvm::isOneOrOneSplat(), isSetCC(), mayTailCallThisCC(), llvm::TargetLowering::SimplifyDemandedBits(), and simplifyDivRem().
|
inline |
Definition at line 1527 of file SelectionDAGNodes.h.
Referenced by AddNodeIDCustom(), calculateByteProvider(), llvm::SelectionDAG::FoldConstantArithmetic(), getAsNonOpaqueConstant(), isBSwapHWordElement(), isConstantOrConstantVector(), and simplifyDivRem().
|
friend |
Definition at line 1503 of file SelectionDAGNodes.h.
1.8.13