LLVM 20.0.0git
|
Classes | |
struct | AllOnes_match |
struct | And |
struct | And< Pred, Preds... > |
class | BasicMatchContext |
MatchContext can repurpose existing patterns to behave differently under a certain context. More... | |
struct | BinaryOpc_match |
struct | CondCode_match |
struct | ConstantInt_match |
struct | DeferredValue_match |
struct | EffectiveOperands |
Provide number of operands that are not chain or glue, as well as the first index of such operand. More... | |
struct | EffectiveOperands< false > |
struct | Not |
struct | NUses_match |
struct | Opcode_match |
struct | Operands_match |
struct | Operands_match< OpIdx, OpndPred, OpndPreds... > |
struct | Or |
struct | Or< Pred, Preds... > |
struct | SpecificInt_match |
struct | SwitchContext |
Switch to a different MatchContext for subsequent patterns. More... | |
struct | TernaryOpc_match |
struct | TLI_pred_match |
struct | UnaryOpc_match |
struct | Value_bind |
struct | Value_match |
struct | ValueType_bind |
struct | ValueType_match |
Functions | |
template<typename Pattern , typename MatchContext > | |
bool | sd_context_match (SDValue N, const MatchContext &Ctx, Pattern &&P) |
template<typename Pattern , typename MatchContext > | |
bool | sd_context_match (SDNode *N, const MatchContext &Ctx, Pattern &&P) |
template<typename Pattern > | |
bool | sd_match (SDNode *N, const SelectionDAG *DAG, Pattern &&P) |
template<typename Pattern > | |
bool | sd_match (SDValue N, const SelectionDAG *DAG, Pattern &&P) |
template<typename Pattern > | |
bool | sd_match (SDNode *N, Pattern &&P) |
template<typename Pattern > | |
bool | sd_match (SDValue N, Pattern &&P) |
Value_match | m_Value () |
Match any valid SDValue. | |
Value_match | m_Specific (SDValue N) |
DeferredValue_match | m_Deferred (SDValue &V) |
Similar to m_Specific, but the specific value to match is determined by another sub-pattern in the same sd_match() expression. | |
Opcode_match | m_Opc (unsigned Opcode) |
template<typename Pattern > | |
NUses_match< 1, Pattern > | m_OneUse (const Pattern &P) |
template<unsigned N, typename Pattern > | |
NUses_match< N, Pattern > | m_NUses (const Pattern &P) |
NUses_match< 1, Value_match > | m_OneUse () |
template<unsigned N> | |
NUses_match< N, Value_match > | m_NUses () |
Value_bind | m_Value (SDValue &N) |
template<typename PredFuncT , typename Pattern > | |
TLI_pred_match (const PredFuncT &Pred, const Pattern &P) -> TLI_pred_match< Pattern, PredFuncT > | |
template<typename Pattern > | |
auto | m_LegalOp (const Pattern &P) |
Match legal SDNodes based on the information provided by TargetLowering. | |
template<typename MatchContext , typename Pattern > | |
SwitchContext< MatchContext, Pattern > | m_Context (const MatchContext &Ctx, Pattern &&P) |
ValueType_bind | m_VT (EVT &VT) |
Retreive the ValueType of the current SDValue. | |
template<typename PredFuncT , typename Pattern > | |
ValueType_match (const PredFuncT &Pred, const Pattern &P) -> ValueType_match< Pattern, PredFuncT > | |
template<typename Pattern > | |
auto | m_SpecificVT (EVT RefVT, const Pattern &P) |
Match a specific ValueType. | |
auto | m_SpecificVT (EVT RefVT) |
auto | m_Glue () |
auto | m_OtherVT () |
template<typename Pattern > | |
auto | m_IntegerVT (const Pattern &P) |
Match any integer ValueTypes. | |
auto | m_IntegerVT () |
template<typename Pattern > | |
auto | m_FloatingPointVT (const Pattern &P) |
Match any floating point ValueTypes. | |
auto | m_FloatingPointVT () |
template<typename Pattern > | |
auto | m_VectorVT (const Pattern &P) |
Match any vector ValueTypes. | |
auto | m_VectorVT () |
template<typename Pattern > | |
auto | m_FixedVectorVT (const Pattern &P) |
Match fixed-length vector ValueTypes. | |
auto | m_FixedVectorVT () |
template<typename Pattern > | |
auto | m_ScalableVectorVT (const Pattern &P) |
Match scalable vector ValueTypes. | |
auto | m_ScalableVectorVT () |
template<typename Pattern > | |
auto | m_LegalType (const Pattern &P) |
Match legal ValueTypes based on the information provided by TargetLowering. | |
template<typename Pred > | |
Not (const Pred &P) -> Not< Pred > | |
template<typename Pred > | |
Not< Pred > | m_Unless (const Pred &P) |
Match if the inner pattern does NOT match. | |
template<typename... Preds> | |
And< Preds... > | m_AllOf (const Preds &...preds) |
template<typename... Preds> | |
Or< Preds... > | m_AnyOf (const Preds &...preds) |
template<typename... Preds> | |
auto | m_NoneOf (const Preds &...preds) |
template<typename... OpndPreds> | |
auto | m_Node (unsigned Opcode, const OpndPreds &...preds) |
template<typename T0_P , typename T1_P , typename T2_P > | |
TernaryOpc_match< T0_P, T1_P, T2_P > | m_SetCC (const T0_P &LHS, const T1_P &RHS, const T2_P &CC) |
template<typename T0_P , typename T1_P , typename T2_P > | |
TernaryOpc_match< T0_P, T1_P, T2_P, true, false > | m_c_SetCC (const T0_P &LHS, const T1_P &RHS, const T2_P &CC) |
template<typename T0_P , typename T1_P , typename T2_P > | |
TernaryOpc_match< T0_P, T1_P, T2_P > | m_Select (const T0_P &Cond, const T1_P &T, const T2_P &F) |
template<typename T0_P , typename T1_P , typename T2_P > | |
TernaryOpc_match< T0_P, T1_P, T2_P > | m_VSelect (const T0_P &Cond, const T1_P &T, const T2_P &F) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_BinOp (unsigned Opc, const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_c_BinOp (unsigned Opc, const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, false, true > | m_ChainedBinOp (unsigned Opc, const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true, true > | m_c_ChainedBinOp (unsigned Opc, const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_Add (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_Sub (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_Mul (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_And (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_Or (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_DisjointOr (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
auto | m_AddLike (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_Xor (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_SMin (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_SMax (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_UMin (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_UMax (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_UDiv (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_SDiv (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_URem (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_SRem (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_Shl (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_Sra (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_Srl (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_FAdd (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_FSub (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS, true > | m_FMul (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_FDiv (const LHS &L, const RHS &R) |
template<typename LHS , typename RHS > | |
BinaryOpc_match< LHS, RHS > | m_FRem (const LHS &L, const RHS &R) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_UnaryOp (unsigned Opc, const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd, true > | m_ChainedUnaryOp (unsigned Opc, const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_BitReverse (const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_ZExt (const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_NNegZExt (const Opnd &Op) |
template<typename Opnd > | |
auto | m_SExt (const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_AnyExt (const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_Trunc (const Opnd &Op) |
template<typename Opnd > | |
auto | m_ZExtOrSelf (const Opnd &Op) |
Match a zext or identity Allows to peek through optional extensions. | |
template<typename Opnd > | |
auto | m_SExtOrSelf (const Opnd &Op) |
Match a sext or identity Allows to peek through optional extensions. | |
template<typename Opnd > | |
auto | m_SExtLike (const Opnd &Op) |
template<typename Opnd > | |
Or< UnaryOpc_match< Opnd >, Opnd > | m_AExtOrSelf (const Opnd &Op) |
Match a aext or identity Allows to peek through optional extensions. | |
template<typename Opnd > | |
Or< UnaryOpc_match< Opnd >, Opnd > | m_TruncOrSelf (const Opnd &Op) |
Match a trunc or identity Allows to peek through optional truncations. | |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_VScale (const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_FPToUI (const Opnd &Op) |
template<typename Opnd > | |
UnaryOpc_match< Opnd > | m_FPToSI (const Opnd &Op) |
ConstantInt_match | m_ConstInt () |
Match any interger constants or splat of an integer constant. | |
ConstantInt_match | m_ConstInt (APInt &V) |
Match any interger constants or splat of an integer constant; return the specific constant or constant splat value. | |
SpecificInt_match | m_SpecificInt (APInt V) |
Match a specific integer constant or constant splat value. | |
SpecificInt_match | m_SpecificInt (uint64_t V) |
SpecificInt_match | m_Zero () |
SpecificInt_match | m_One () |
AllOnes_match | m_AllOnes () |
auto | m_True () |
Match true boolean value based on the information provided by TargetLowering. | |
auto | m_False () |
Match false boolean value based on the information provided by TargetLowering. | |
CondCode_match | m_CondCode () |
Match any conditional code SDNode. | |
CondCode_match | m_CondCode (ISD::CondCode &CC) |
Match any conditional code SDNode and return its ISD::CondCode value. | |
CondCode_match | m_SpecificCondCode (ISD::CondCode CC) |
Match a conditional code SDNode with a specific ISD::CondCode. | |
template<typename ValTy > | |
BinaryOpc_match< SpecificInt_match, ValTy > | m_Neg (const ValTy &V) |
Match a negate as a sub(0, v) | |
template<typename ValTy > | |
BinaryOpc_match< ValTy, AllOnes_match, true > | m_Not (const ValTy &V) |
Match a Not as a xor(v, -1) or xor(-1, v) | |
|
inline |
Definition at line 569 of file SDPatternMatch.h.
References llvm::ISD::ADD.
Referenced by m_AddLike().
Definition at line 602 of file SDPatternMatch.h.
References m_Add(), m_AnyOf(), and m_DisjointOr().
|
inline |
Match a aext or identity Allows to peek through optional extensions.
Definition at line 773 of file SDPatternMatch.h.
References m_AnyExt().
Definition at line 378 of file SDPatternMatch.h.
Referenced by m_Node().
|
inline |
Definition at line 858 of file SDPatternMatch.h.
Referenced by m_Not().
|
inline |
Definition at line 584 of file SDPatternMatch.h.
References llvm::ISD::AND.
|
inline |
Definition at line 746 of file SDPatternMatch.h.
References llvm::ISD::ANY_EXTEND.
Referenced by m_AExtOrSelf(), and visitORCommutative().
Definition at line 382 of file SDPatternMatch.h.
Referenced by m_AddLike(), m_NoneOf(), m_SExtLike(), m_SExtOrSelf(), and m_ZExtOrSelf().
|
inline |
Definition at line 546 of file SDPatternMatch.h.
|
inline |
Definition at line 727 of file SDPatternMatch.h.
References llvm::ISD::BITREVERSE.
|
inline |
Definition at line 551 of file SDPatternMatch.h.
|
inline |
Definition at line 563 of file SDPatternMatch.h.
|
inline |
Definition at line 493 of file SDPatternMatch.h.
References CC, LHS, RHS, and llvm::ISD::SETCC.
Referenced by isTruncateOf().
|
inline |
Definition at line 558 of file SDPatternMatch.h.
|
inline |
Definition at line 721 of file SDPatternMatch.h.
|
inline |
Match any conditional code SDNode.
Definition at line 923 of file SDPatternMatch.h.
Referenced by foldVSelectToSignBitSplatMask().
|
inline |
Match any conditional code SDNode and return its ISD::CondCode value.
Definition at line 925 of file SDPatternMatch.h.
References CC.
|
inline |
Match any interger constants or splat of an integer constant.
Definition at line 819 of file SDPatternMatch.h.
Referenced by m_False(), m_True(), and llvm::SDPatternMatch::SpecificInt_match::match().
|
inline |
Match any interger constants or splat of an integer constant; return the specific constant or constant splat value.
Definition at line 822 of file SDPatternMatch.h.
|
inline |
Definition at line 224 of file SDPatternMatch.h.
References P.
|
inline |
Similar to m_Specific, but the specific value to match is determined by another sub-pattern in the same sd_match() expression.
For instance, We cannot match (add V, V)
with m_Add(m_Value(X), m_Specific(X))
since X
is not initialized at the time it got copied into m_Specific
. Instead, we should use m_Add(m_Value(X), m_Deferred(X))
.
Definition at line 124 of file SDPatternMatch.h.
|
inline |
Definition at line 594 of file SDPatternMatch.h.
References llvm::ISD::OR.
Referenced by m_AddLike().
|
inline |
Definition at line 664 of file SDPatternMatch.h.
References llvm::ISD::FADD.
|
inline |
Match false boolean value based on the information provided by TargetLowering.
Definition at line 882 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::getBooleanContents(), llvm::APInt::isZero(), m_ConstInt(), m_Value(), N, sd_match(), llvm::TargetLoweringBase::UndefinedBooleanContent, llvm::TargetLoweringBase::ZeroOrNegativeOneBooleanContent, and llvm::TargetLoweringBase::ZeroOrOneBooleanContent.
Definition at line 679 of file SDPatternMatch.h.
References llvm::ISD::FDIV.
|
inline |
Definition at line 303 of file SDPatternMatch.h.
References m_Value().
Match fixed-length vector ValueTypes.
Definition at line 300 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 286 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 674 of file SDPatternMatch.h.
References llvm::ISD::FMUL.
|
inline |
Definition at line 792 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_SINT.
|
inline |
Definition at line 788 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_UINT.
Definition at line 684 of file SDPatternMatch.h.
References llvm::ISD::FREM.
Definition at line 669 of file SDPatternMatch.h.
References llvm::ISD::FSUB.
|
inline |
Definition at line 271 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 278 of file SDPatternMatch.h.
References m_Value().
Match legal SDNodes based on the information provided by TargetLowering.
Definition at line 204 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::isOperationLegal(), N, and P.
Match legal ValueTypes based on the information provided by TargetLowering.
Definition at line 318 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::isTypeLegal(), N, and P.
|
inline |
Definition at line 579 of file SDPatternMatch.h.
References llvm::ISD::MUL.
|
inline |
Match a negate as a sub(0, v)
Definition at line 935 of file SDPatternMatch.h.
|
inline |
Definition at line 736 of file SDPatternMatch.h.
References llvm::ISD::ZERO_EXTEND.
Referenced by m_SExtLike().
auto llvm::SDPatternMatch::m_Node | ( | unsigned | Opcode, |
const OpndPreds &... | preds | ||
) |
Definition at line 420 of file SDPatternMatch.h.
auto llvm::SDPatternMatch::m_NoneOf | ( | const Preds &... | preds | ) |
Definition at line 386 of file SDPatternMatch.h.
References m_AnyOf(), and m_Unless().
|
inline |
Match a Not as a xor(v, -1) or xor(-1, v)
Definition at line 941 of file SDPatternMatch.h.
References m_AllOnes(), and m_Xor().
|
inline |
Definition at line 167 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 160 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 847 of file SDPatternMatch.h.
References m_SpecificInt().
|
inline |
Definition at line 164 of file SDPatternMatch.h.
References m_Value().
Referenced by foldAndToUsubsat(), foldVSelectToSignBitSplatMask(), and visitORCommutative().
|
inline |
Definition at line 156 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 139 of file SDPatternMatch.h.
Referenced by m_Node(), llvm::SDPatternMatch::TernaryOpc_match< T0_P, T1_P, T2_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::BinaryOpc_match< LHS_P, RHS_P, Commutable, ExcludeChain >::match(), and llvm::SDPatternMatch::UnaryOpc_match< Opnd_P, ExcludeChain >::match().
|
inline |
Definition at line 589 of file SDPatternMatch.h.
References llvm::ISD::OR.
|
inline |
Definition at line 272 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 312 of file SDPatternMatch.h.
References m_Value().
Definition at line 636 of file SDPatternMatch.h.
References llvm::ISD::SDIV.
|
inline |
Definition at line 500 of file SDPatternMatch.h.
References Cond, F, and llvm::ISD::SELECT.
|
inline |
Definition at line 487 of file SDPatternMatch.h.
References CC, LHS, RHS, and llvm::ISD::SETCC.
Referenced by foldAddSubBoolOfMaskedVal(), and foldVSelectToSignBitSplatMask().
|
inline |
Definition at line 742 of file SDPatternMatch.h.
References llvm::ISD::SIGN_EXTEND.
Referenced by m_SExtLike(), and m_SExtOrSelf().
|
inline |
Definition at line 766 of file SDPatternMatch.h.
References m_AnyOf(), m_NNegZExt(), and m_SExt().
|
inline |
Match a sext or identity Allows to peek through optional extensions.
Definition at line 762 of file SDPatternMatch.h.
Definition at line 650 of file SDPatternMatch.h.
References llvm::ISD::SHL.
|
inline |
Definition at line 617 of file SDPatternMatch.h.
References llvm::ISD::SMAX.
|
inline |
Definition at line 612 of file SDPatternMatch.h.
References llvm::ISD::SMIN.
|
inline |
Definition at line 104 of file SDPatternMatch.h.
|
inline |
Match a conditional code SDNode with a specific ISD::CondCode.
Definition at line 929 of file SDPatternMatch.h.
References CC.
Referenced by foldAddSubBoolOfMaskedVal(), and isTruncateOf().
|
inline |
Match a specific integer constant or constant splat value.
Definition at line 839 of file SDPatternMatch.h.
|
inline |
Definition at line 842 of file SDPatternMatch.h.
|
inline |
Definition at line 267 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a specific ValueType.
Definition at line 264 of file SDPatternMatch.h.
References P.
Referenced by m_Glue(), and m_OtherVT().
Definition at line 655 of file SDPatternMatch.h.
References llvm::ISD::SRA.
Referenced by foldAndToUsubsat().
Definition at line 645 of file SDPatternMatch.h.
References llvm::ISD::SREM.
Definition at line 659 of file SDPatternMatch.h.
References llvm::ISD::SRL.
|
inline |
Match true boolean value based on the information provided by TargetLowering.
Definition at line 862 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::getBooleanContents(), llvm::APInt::isAllOnes(), llvm::APInt::isOne(), m_ConstInt(), m_Value(), N, sd_match(), llvm::TargetLoweringBase::UndefinedBooleanContent, llvm::TargetLoweringBase::ZeroOrNegativeOneBooleanContent, and llvm::TargetLoweringBase::ZeroOrOneBooleanContent.
|
inline |
Definition at line 750 of file SDPatternMatch.h.
References llvm::ISD::TRUNCATE.
Referenced by m_TruncOrSelf().
|
inline |
Match a trunc or identity Allows to peek through optional truncations.
Definition at line 780 of file SDPatternMatch.h.
References m_Trunc().
Definition at line 632 of file SDPatternMatch.h.
References llvm::ISD::UDIV.
|
inline |
Definition at line 627 of file SDPatternMatch.h.
References llvm::ISD::UMAX.
|
inline |
Definition at line 622 of file SDPatternMatch.h.
References llvm::ISD::UMIN.
|
inline |
Definition at line 717 of file SDPatternMatch.h.
Match if the inner pattern does NOT match.
Definition at line 374 of file SDPatternMatch.h.
References P.
Referenced by m_NoneOf().
Definition at line 641 of file SDPatternMatch.h.
References llvm::ISD::UREM.
|
inline |
Match any valid SDValue.
Definition at line 102 of file SDPatternMatch.h.
Referenced by m_False(), m_FixedVectorVT(), m_FloatingPointVT(), m_IntegerVT(), m_NUses(), m_OneUse(), m_ScalableVectorVT(), m_SpecificVT(), m_True(), and m_VectorVT().
|
inline |
Definition at line 182 of file SDPatternMatch.h.
References N.
|
inline |
Definition at line 295 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 784 of file SDPatternMatch.h.
References llvm::ISD::VSCALE.
|
inline |
Definition at line 506 of file SDPatternMatch.h.
References Cond, F, and llvm::ISD::VSELECT.
|
inline |
Retreive the ValueType of the current SDValue.
Definition at line 242 of file SDPatternMatch.h.
|
inline |
|
inline |
Definition at line 731 of file SDPatternMatch.h.
References llvm::ISD::ZERO_EXTEND.
Referenced by m_ZExtOrSelf().
|
inline |
Match a zext or identity Allows to peek through optional extensions.
Definition at line 756 of file SDPatternMatch.h.
llvm::SDPatternMatch::Not | ( | const Pred & | P | ) | -> Not< Pred > |
bool llvm::SDPatternMatch::sd_context_match | ( | SDNode * | N, |
const MatchContext & | Ctx, | ||
Pattern && | P | ||
) |
Definition at line 61 of file SDPatternMatch.h.
References N, P, and sd_context_match().
bool llvm::SDPatternMatch::sd_context_match | ( | SDValue | N, |
const MatchContext & | Ctx, | ||
Pattern && | P | ||
) |
Definition at line 55 of file SDPatternMatch.h.
Referenced by llvm::SDPatternMatch::TernaryOpc_match< T0_P, T1_P, T2_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::BinaryOpc_match< LHS_P, RHS_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::UnaryOpc_match< Opnd_P, ExcludeChain >::match(), llvm::SDPatternMatch::SpecificInt_match::match(), sd_context_match(), and sd_match().
bool llvm::SDPatternMatch::sd_match | ( | SDNode * | N, |
const SelectionDAG * | DAG, | ||
Pattern && | P | ||
) |
Definition at line 67 of file SDPatternMatch.h.
References N, P, and sd_context_match().
Referenced by detectSSatSPattern(), detectSSatUPattern(), detectUSatUPattern(), foldAddSubBoolOfMaskedVal(), foldAndToUsubsat(), foldVSelectToSignBitSplatMask(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), isTruncateOf(), m_False(), m_True(), sd_match(), and visitORCommutative().
Definition at line 77 of file SDPatternMatch.h.
References N, P, and sd_match().
bool llvm::SDPatternMatch::sd_match | ( | SDValue | N, |
const SelectionDAG * | DAG, | ||
Pattern && | P | ||
) |
Definition at line 72 of file SDPatternMatch.h.
References N, P, and sd_context_match().
Definition at line 82 of file SDPatternMatch.h.
References N, P, and sd_match().
llvm::SDPatternMatch::TLI_pred_match | ( | const PredFuncT & | Pred, |
const Pattern & | P | ||
) | -> TLI_pred_match< Pattern, PredFuncT > |
llvm::SDPatternMatch::ValueType_match | ( | const PredFuncT & | Pred, |
const Pattern & | P | ||
) | -> ValueType_match< Pattern, PredFuncT > |