| LLVM_ABI void |
llvm::checkForCycles (const SDNode *N, const SelectionDAG *DAG=nullptr, bool force=false) |
| LLVM_ABI bool |
llvm::ISD::isConstantSplatVector (const SDNode *N, APInt &SplatValue) |
|
Node predicates. |
| LLVM_ABI bool |
llvm::ISD::isConstantSplatVectorAllOnes (const SDNode *N, bool BuildVectorOnly=false) |
|
Return true if the specified node is a BUILD_VECTOR or SPLAT_VECTOR where all of the elements are ~0 or undef. |
| LLVM_ABI bool |
llvm::ISD::isConstantSplatVectorAllZeros (const SDNode *N, bool BuildVectorOnly=false) |
|
Return true if the specified node is a BUILD_VECTOR or SPLAT_VECTOR where all of the elements are 0 or undef. |
| LLVM_ABI bool |
llvm::ISD::isBuildVectorAllOnes (const SDNode *N) |
|
Return true if the specified node is a BUILD_VECTOR where all of the elements are ~0 or undef. |
| LLVM_ABI bool |
llvm::ISD::isBuildVectorAllZeros (const SDNode *N) |
|
Return true if the specified node is a BUILD_VECTOR where all of the elements are 0 or undef. |
| LLVM_ABI bool |
llvm::ISD::isBuildVectorOfConstantSDNodes (const SDNode *N) |
|
Return true if the specified node is a BUILD_VECTOR node of all ConstantSDNode or undef. |
| LLVM_ABI bool |
llvm::ISD::isBuildVectorOfConstantFPSDNodes (const SDNode *N) |
|
Return true if the specified node is a BUILD_VECTOR node of all ConstantFPSDNode or undef. |
| LLVM_ABI bool |
llvm::ISD::isVectorShrinkable (const SDNode *N, unsigned NewEltSize, bool Signed) |
|
Returns true if the specified node is a vector where all elements can be truncated to the specified element size without a loss in meaning. |
| LLVM_ABI bool |
llvm::ISD::allOperandsUndef (const SDNode *N) |
|
Return true if the node has at least one operand and all operands of the specified node are ISD::UNDEF. |
| LLVM_ABI bool |
llvm::ISD::isFreezeUndef (const SDNode *N) |
|
Return true if the specified node is FREEZE(UNDEF). |
|
llvm::LLVM_DECLARE_ENUM_AS_BITMASK (decltype(SDNodeFlags::None), SDNodeFlags::InBounds) |
| SDNodeFlags |
llvm::operator| (SDNodeFlags LHS, SDNodeFlags RHS) |
| SDNodeFlags |
llvm::operator& (SDNodeFlags LHS, SDNodeFlags RHS) |
| LLVM_ABI bool |
llvm::isNullConstant (SDValue V) |
|
Returns true if V is a constant integer zero. |
| LLVM_ABI bool |
llvm::isNullConstantOrUndef (SDValue V) |
|
Returns true if V is a constant integer zero or an UNDEF node. |
| LLVM_ABI bool |
llvm::isNullFPConstant (SDValue V) |
|
Returns true if V is an FP constant with a value of positive zero. |
| LLVM_ABI bool |
llvm::isAllOnesConstant (SDValue V) |
|
Returns true if V is an integer constant with all bits set. |
| LLVM_ABI bool |
llvm::isOneConstant (SDValue V) |
|
Returns true if V is a constant integer one. |
| LLVM_ABI bool |
llvm::isMinSignedConstant (SDValue V) |
|
Returns true if V is a constant min signed integer value. |
| LLVM_ABI bool |
llvm::isNeutralConstant (unsigned Opc, SDNodeFlags Flags, SDValue V, unsigned OperandNo) |
|
Returns true if V is a neutral element of Opc with Flags. |
| LLVM_ABI SDValue |
llvm::peekThroughBitcasts (SDValue V) |
|
Return the non-bitcasted source operand of V if it exists. |
| LLVM_ABI SDValue |
llvm::peekThroughOneUseBitcasts (SDValue V) |
|
Return the non-bitcasted and one-use source operand of V if it exists. |
| LLVM_ABI SDValue |
llvm::peekThroughExtractSubvectors (SDValue V) |
|
Return the non-extracted vector source operand of V if it exists. |
| LLVM_ABI SDValue |
llvm::peekThroughInsertVectorElt (SDValue V, const APInt &DemandedElts) |
|
Recursively peek through INSERT_VECTOR_ELT nodes, returning the source vector operand of V, as long as V is an INSERT_VECTOR_ELT operation that do not insert into any of the demanded vector elts. |
| LLVM_ABI SDValue |
llvm::peekThroughTruncates (SDValue V) |
|
Return the non-truncated source operand of V if it exists. |
| LLVM_ABI bool |
llvm::isBitwiseNot (SDValue V, bool AllowUndefs=false) |
|
Returns true if V is a bitwise not operation. |
| LLVM_ABI SDValue |
llvm::getBitwiseNotOperand (SDValue V, SDValue Mask, bool AllowUndefs) |
|
If V is a bitwise not, returns the inverted operand. |
| LLVM_ABI ConstantSDNode * |
llvm::isConstOrConstSplat (SDValue N, bool AllowUndefs=false, bool AllowTruncation=false) |
|
Returns the SDNode if it is a constant splat BuildVector or constant int. |
| LLVM_ABI ConstantSDNode * |
llvm::isConstOrConstSplat (SDValue N, const APInt &DemandedElts, bool AllowUndefs=false, bool AllowTruncation=false) |
|
Returns the SDNode if it is a demanded constant splat BuildVector or constant int. |
| LLVM_ABI ConstantFPSDNode * |
llvm::isConstOrConstSplatFP (SDValue N, bool AllowUndefs=false) |
|
Returns the SDNode if it is a constant splat BuildVector or constant float. |
| LLVM_ABI ConstantFPSDNode * |
llvm::isConstOrConstSplatFP (SDValue N, const APInt &DemandedElts, bool AllowUndefs=false) |
|
Returns the SDNode if it is a demanded constant splat BuildVector or constant float. |
| LLVM_ABI bool |
llvm::isNullOrNullSplat (SDValue V, bool AllowUndefs=false) |
|
Return true if the value is a constant 0 integer or a splatted vector of a constant 0 integer (with no undefs by default). |
| LLVM_ABI bool |
llvm::isOneOrOneSplat (SDValue V, bool AllowUndefs=false) |
|
Return true if the value is a constant 1 integer or a splatted vector of a constant 1 integer (with no undefs). |
| LLVM_ABI bool |
llvm::isOneOrOneSplatFP (SDValue V, bool AllowUndefs=false) |
|
Return true if the value is a constant floating-point value, or a splatted vector of a constant floating-point value, of 1.0 (with no undefs). |
| LLVM_ABI bool |
llvm::isAllOnesOrAllOnesSplat (SDValue V, bool AllowUndefs=false) |
|
Return true if the value is a constant -1 integer or a splatted vector of a constant -1 integer (with no undefs). |
| LLVM_ABI bool |
llvm::isOnesOrOnesSplat (SDValue N, bool AllowUndefs=false) |
|
Return true if the value is a constant 1 integer or a splatted vector of a constant 1 integer (with no undefs). |
| LLVM_ABI bool |
llvm::isZeroOrZeroSplat (SDValue N, bool AllowUndefs=false) |
|
Return true if the value is a constant 0 integer or a splatted vector of a constant 0 integer (with no undefs). |
| LLVM_ABI bool |
llvm::isZeroOrZeroSplatFP (SDValue N, bool AllowUndefs=false) |
|
Return true if the value is a constant (+/-)0.0 floating-point value or a splatted vector thereof (with no undefs). |
| bool |
llvm::isIntOrFPConstant (SDValue V) |
|
Return true if V is either a integer or FP constant. |
| bool |
llvm::ISD::isNormalLoad (const SDNode *N) |
|
Returns true if the specified node is a non-extending and unindexed load. |
| bool |
llvm::ISD::isNON_EXTLoad (const SDNode *N) |
|
Returns true if the specified node is a non-extending load. |
| bool |
llvm::ISD::isEXTLoad (const SDNode *N) |
|
Returns true if the specified node is a EXTLOAD. |
| bool |
llvm::ISD::isSEXTLoad (const SDNode *N) |
|
Returns true if the specified node is a SEXTLOAD. |
| bool |
llvm::ISD::isZEXTLoad (const SDNode *N) |
|
Returns true if the specified node is a ZEXTLOAD. |
| bool |
llvm::ISD::isUNINDEXEDLoad (const SDNode *N) |
|
Returns true if the specified node is an unindexed load. |
| bool |
llvm::ISD::isNormalStore (const SDNode *N) |
|
Returns true if the specified node is a non-truncating and unindexed store. |
| bool |
llvm::ISD::isUNINDEXEDStore (const SDNode *N) |
|
Returns true if the specified node is an unindexed store. |
| bool |
llvm::ISD::isNormalMaskedLoad (const SDNode *N) |
|
Returns true if the specified node is a non-extending and unindexed masked load. |
| bool |
llvm::ISD::isNormalMaskedStore (const SDNode *N) |
|
Returns true if the specified node is a non-extending and unindexed masked store. |
| template |
|
| bool |
llvm::ISD::matchUnaryPredicateImpl (SDValue Op, std::function< bool(ConstNodeType *)> Match, bool AllowUndefs=false, bool AllowTruncation=false) |
|
Attempt to match a unary predicate against a scalar/splat constant or every element of a constant BUILD_VECTOR. |
| bool |
llvm::ISD::matchUnaryPredicate (SDValue Op, std::function< bool(ConstantSDNode *)> Match, bool AllowUndefs=false, bool AllowTruncation=false) |
|
Hook for matching ConstantSDNode predicate. |
| bool |
llvm::ISD::matchUnaryFpPredicate (SDValue Op, std::function< bool(ConstantFPSDNode *)> Match, bool AllowUndefs=false) |
|
Hook for matching ConstantFPSDNode predicate. |
| LLVM_ABI bool |
llvm::ISD::matchBinaryPredicate (SDValue LHS, SDValue RHS, std::function< bool(ConstantSDNode *, ConstantSDNode *)> Match, bool AllowUndefs=false, bool AllowTypeMismatch=false) |
|
Attempt to match a binary predicate against a pair of scalar/splat constants or every element of a pair of constant BUILD_VECTORs. |
| bool |
llvm::ISD::isOverflowIntrOpRes (SDValue Op) |
|
Returns true if the specified value is the overflow result from one of the overflow intrinsic nodes. |