|
LLVM 24.0.0git
|
Functions | |
| template<typename Pattern> | |
| bool | sd_match (SDValue N, Pattern &&P) |
| template<typename Pattern> | |
| bool | sd_match (SDNode *N, Pattern &&P) |
| Value_match | m_Value () |
| Match any valid SDValue. | |
| Value_match | m_Specific (SDValue N) |
| template<unsigned ResNo, typename Pattern> | |
| Result_match< ResNo, Pattern > | m_Result (const Pattern &P) |
| Match only if the SDValue is a certain result at ResNo. | |
| 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. | |
| 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<unsigned Opcode> | |
| auto | m_SpecificOpc () |
| Opcode_match | m_SpecificOpc (unsigned Opcode) |
| auto | m_Undef () |
| Opcode_match | m_Poison () |
| 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 () |
| auto | m_Value (SDValue &N) |
| template<typename PredPattern> | |
| auto | m_Value (SDValue &N, const PredPattern &P) |
| Conditionally bind an SDValue based on the predicate. | |
| 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 SelectionDAG &DAG, const Pattern &P) |
| Match legal SDNodes based on the information provided by TargetLowering. | |
| template<typename Pattern> | |
| ValueType_bind (const Pattern &P) -> ValueType_bind< Pattern > | |
| auto | m_VT (EVT &VT) |
| Retreive the ValueType of the current SDValue. | |
| template<typename Pattern> | |
| auto | m_VT (EVT &VT, const Pattern &P) |
| 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_SpecificScalarVT (EVT RefVT, const Pattern &P) |
| Match a scalar ValueType. | |
| auto | m_SpecificScalarVT (EVT RefVT) |
| template<typename Pattern> | |
| auto | m_SpecificVectorElementVT (EVT RefVT, const Pattern &P) |
| Match a vector ValueType. | |
| auto | m_SpecificVectorElementVT (EVT RefVT) |
| 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 SelectionDAG &DAG, const Pattern &P) |
| Match legal ValueTypes based on the information provided by TargetLowering. | |
| template<unsigned Opcode, typename... OpndPreds> | |
| auto | m_Node (const OpndPreds &...Preds) |
| template<typename... OpndPreds> | |
| auto | m_Node (unsigned Opcode, const OpndPreds &...preds) |
| 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 T0_P, typename T1_P> | |
| TernaryOpc_match< T0_P, T1_P, CondCode_match > | m_SetCC (const T0_P &LHS, const T1_P &RHS) |
| Match a SETCC with any condition code. | |
| template<typename T0_P, typename T1_P> | |
| TernaryOpc_match< T0_P, T1_P, CondCode_match > | m_SetCC (ISD::CondCode &CC, const T0_P &LHS, const T1_P &RHS) |
| Match a SETCC with any condition code and bind the condition code to CC. | |
| template<typename T0_P, typename T1_P> | |
| TernaryOpc_match< T0_P, T1_P, CondCode_match > | m_SpecificSetCC (ISD::CondCode CC, const T0_P &LHS, const T1_P &RHS) |
| Match a SETCC with a specific condition code. | |
| template<typename T0_P, typename T1_P> | |
| TernaryOpc_match< T0_P, T1_P, CondCode_match, true, false > | m_c_SetCC (const T0_P &LHS, const T1_P &RHS) |
| Match a SETCC with any condition code, allowing the operands to be commuted. | |
| template<typename T0_P, typename T1_P> | |
| TernaryOpc_match< T0_P, T1_P, CondCode_match, true, false > | m_c_SetCC (ISD::CondCode &CC, const T0_P &LHS, const T1_P &RHS) |
| Match a SETCC with any condition code, allowing the operands to be commuted, and bind the condition code to CC. | |
| template<typename T0_P, typename T1_P> | |
| TernaryOpc_match< T0_P, T1_P, CondCode_match, true, false > | m_c_SpecificSetCC (ISD::CondCode CC, const T0_P &LHS, const T1_P &RHS) |
| Match a SETCC with a specific condition code, allowing the operands to be commuted. | |
| 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 T0_P, typename T1_P, typename T2_P> | |
| auto | m_SelectLike (const T0_P &Cond, const T1_P &T, const T2_P &F) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| Result_match< 0, TernaryOpc_match< T0_P, T1_P, T2_P > > | m_Load (const T0_P &Ch, const T1_P &Ptr, const T2_P &Offset) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_InsertElt (const T0_P &Vec, const T1_P &Val, const T2_P &Idx) |
| template<typename LHS, typename RHS, typename IDX> | |
| TernaryOpc_match< LHS, RHS, IDX > | m_InsertSubvector (const LHS &Base, const RHS &Sub, const IDX &Idx) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_SpliceRight (const T0_P &V1, const T1_P &V2, const T2_P &Offset) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_TernaryOp (unsigned Opc, const T0_P &Op0, const T1_P &Op1, const T2_P &Op2) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P, true > | m_c_TernaryOp (unsigned Opc, const T0_P &Op0, const T1_P &Op1, const T2_P &Op2) |
| template<typename LTy, typename RTy, typename TTy, typename FTy> | |
| auto | m_SelectCC (const LTy &L, const RTy &R, const TTy &T, const FTy &F) |
| Match a SELECT_CC with any condition code. | |
| template<typename LTy, typename RTy, typename TTy, typename FTy> | |
| auto | m_SelectCC (ISD::CondCode &CC, const LTy &L, const RTy &R, const TTy &T, const FTy &F) |
| Match a SELECT_CC with any condition code and bind the condition code to CC. | |
| template<typename LTy, typename RTy, typename TTy, typename FTy> | |
| auto | m_SpecificSelectCC (ISD::CondCode CC, const LTy &L, const RTy &R, const TTy &T, const FTy &F) |
| Match a SELECT_CC with a specific condition code. | |
| template<typename LTy, typename RTy, typename TTy, typename FTy> | |
| auto | m_SelectCCLike (const LTy &L, const RTy &R, const TTy &T, const FTy &F) |
| Match a SELECT of a SETCC or a SELECT_CC with any condition code. | |
| template<typename LTy, typename RTy, typename TTy, typename FTy> | |
| auto | m_SelectCCLike (ISD::CondCode &CC, const LTy &L, const RTy &R, const TTy &T, const FTy &F) |
| Match a SELECT of a SETCC or a SELECT_CC with any condition code and bind the condition code to CC. | |
| template<typename LTy, typename RTy, typename TTy, typename FTy> | |
| auto | m_SpecificSelectCCLike (ISD::CondCode CC, const LTy &L, const RTy &R, const TTy &T, const FTy &F) |
| Match a SELECT of a SETCC or a SELECT_CC with a specific condition code. | |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS > | m_BinOp (unsigned Opc, const LHS &L, const RHS &R, SDNodeFlags Flgs=SDNodeFlags()) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_c_BinOp (unsigned Opc, const LHS &L, const RHS &R, SDNodeFlags Flgs=SDNodeFlags()) |
| 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> | |
| auto | m_NUWAdd (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| auto | m_NSWAdd (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> | |
| auto | m_NSWAddLike (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| auto | m_NUWAddLike (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> | |
| auto | m_BitwiseLogic (const LHS &L, const RHS &R) |
| template<unsigned Opc, typename Pred, typename LHS, typename RHS> | |
| auto | m_MaxMinLike (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> | |
| auto | m_SMinLike (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> | |
| auto | m_SMaxLike (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> | |
| auto | m_UMinLike (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> | |
| auto | m_UMaxLike (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> | |
| auto | m_ExactSr (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS > | m_Rotl (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS > | m_Rotr (const LHS &L, const RHS &R) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_FShL (const T0_P &Op0, const T1_P &Op1, const T2_P &Op2) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_FShR (const T0_P &Op0, const T1_P &Op1, const T2_P &Op2) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| FunnelShiftLike_match< T0_P, T1_P, T2_P, true > | m_FShLLike (const T0_P &Op0, const T1_P &Op1, const T2_P &Op2) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| FunnelShiftLike_match< T0_P, T1_P, T2_P, false > | m_FShRLike (const T0_P &Op0, const T1_P &Op1, const T2_P &Op2) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_Clmul (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 V1_t, typename V2_t> | |
| BinaryOpc_match< V1_t, V2_t > | m_Shuffle (const V1_t &v1, const V2_t &v2) |
| template<typename V1_t, typename V2_t, typename Mask_t> | |
| SDShuffle_match< V1_t, V2_t, Mask_t > | m_Shuffle (const V1_t &v1, const V2_t &v2, const Mask_t &mask) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS > | m_ExtractElt (const LHS &Vec, const RHS &Idx) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS > | m_ExtractSubvector (const LHS &Vec, const RHS &Idx) |
| 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_BitCast (const Opnd &Op) |
| template<typename Opnd> | |
| UnaryOpc_match< Opnd > | m_BSwap (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_Abs (const Opnd &Op) |
| template<typename Opnd> | |
| UnaryOpc_match< Opnd > | m_FAbs (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> | |
| auto | m_ZExtOrSExt (const Opnd &Op) |
| Match a zext or sext. | |
| 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) |
| template<typename Opnd> | |
| UnaryOpc_match< Opnd > | m_Ctpop (const Opnd &Op) |
| template<typename Opnd> | |
| UnaryOpc_match< Opnd > | m_Ctlz (const Opnd &Op) |
| template<typename Opnd> | |
| UnaryOpc_match< Opnd > | m_Cttz (const Opnd &Op) |
| template<typename Opnd> | |
| UnaryOpc_match< Opnd > | m_FNeg (const Opnd &Op) |
| template<typename Opnd> | |
| UnaryOpc_match< Opnd > | m_VectorReverse (const Opnd &Op) |
| ConstantInt_match | m_ConstInt () |
| Match any integer constants or splat of an integer constant. | |
| ConstantInt_match | m_ConstInt (APInt &V) |
| Match any integer constants or splat of an integer constant; return the specific constant or constant splat value. | |
| Constant64_match< uint64_t > | m_ConstInt (uint64_t &V) |
| Match any integer constants or splat of an integer constant that can fit in 64 bits; return the specific constant or constant splat value, zero-extended to 64 bits. | |
| Constant64_match< int64_t > | m_ConstInt (int64_t &V) |
| Match any integer constants or splat of an integer constant that can fit in 64 bits; return the specific constant or constant splat value, sign-extended to 64 bits. | |
| SpecificInt_match | m_SpecificInt (APInt V) |
| Match a specific integer constant or constant splat value. | |
| SpecificInt_match | m_SpecificInt (uint64_t V) |
| SpecificFP_match | m_SpecificFP (APFloat V) |
| Match a specific float constant. | |
| SpecificFP_match | m_SpecificFP (double V) |
| AnyZeroFP_match | m_AnyZeroFP () |
| Match a floating-point +0.0 or -0.0 constant or splat. | |
| Ones_match | m_One (bool AllowUndefs=false) |
| Zero_match | m_Zero (bool AllowUndefs=false) |
| AllOnes_match | m_AllOnes (bool AllowUndefs=false) |
| auto | m_True (const SelectionDAG &DAG) |
| Match true boolean value based on the information provided by TargetLowering. | |
| auto | m_False (const SelectionDAG &DAG) |
| Match false boolean value based on the information provided by TargetLowering. | |
| template<typename ValTy> | |
| BinaryOpc_match< Zero_match, ValTy, false > | 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) | |
| template<unsigned IntrinsicId, typename... OpndPreds> | |
| auto | m_IntrinsicWOChain (const OpndPreds &...Opnds) |
| SpecificNeg_match | m_SpecificNeg (SDValue V) |
| Match a negation of a specific value V, either as sub(0, V) or as constant(s) that are the negation of V's constant(s). | |
| template<typename... PatternTs> | |
| ReassociatableOpc_match< PatternTs... > | m_ReassociatableAdd (const PatternTs &...Patterns) |
| template<typename... PatternTs> | |
| ReassociatableOpc_match< PatternTs... > | m_ReassociatableOr (const PatternTs &...Patterns) |
| template<typename... PatternTs> | |
| ReassociatableOpc_match< PatternTs... > | m_ReassociatableAnd (const PatternTs &...Patterns) |
| template<typename... PatternTs> | |
| ReassociatableOpc_match< PatternTs... > | m_ReassociatableMul (const PatternTs &...Patterns) |
| template<typename... PatternTs> | |
| ReassociatableOpc_match< PatternTs... > | m_ReassociatableNSWAdd (const PatternTs &...Patterns) |
| template<typename... PatternTs> | |
| ReassociatableOpc_match< PatternTs... > | m_ReassociatableNUWAdd (const PatternTs &...Patterns) |
|
inline |
Definition at line 1160 of file SDPatternMatch.h.
References llvm::ISD::ABS, llvm::ISD::ABS_MIN_POISON, and m_AnyOf().
Referenced by combineBasicSADPattern().
|
inline |
Definition at line 816 of file SDPatternMatch.h.
References llvm::ISD::ADD, LHS, and RHS.
Referenced by m_AddLike().
Definition at line 859 of file SDPatternMatch.h.
References LHS, m_Add(), m_AnyOf(), m_DisjointOr(), and RHS.
|
inline |
Match a aext or identity Allows to peek through optional extensions.
Definition at line 1193 of file SDPatternMatch.h.
References m_AnyExt().
Definition at line 147 of file SDPatternMatch.h.
|
inline |
Definition at line 1405 of file SDPatternMatch.h.
|
inline |
Definition at line 843 of file SDPatternMatch.h.
References llvm::ISD::AND, LHS, and RHS.
Referenced by m_BitwiseLogic().
|
inline |
Definition at line 1152 of file SDPatternMatch.h.
References llvm::ISD::ANY_EXTEND.
Referenced by combineSCALAR_TO_VECTOR(), m_AExtOrSelf(), and visitORCommutative().
Definition at line 151 of file SDPatternMatch.h.
Referenced by combineBasicSADPattern(), combinePExtWideningSubAcc(), getShlAddShlAdd(), m_Abs(), m_AddLike(), m_BitwiseLogic(), m_ExactSr(), m_MaxMinLike(), m_NoneOf(), m_NSWAddLike(), m_NUWAddLike(), m_PredicateAsCounterWhile(), m_SelectCCLike(), m_SelectCCLike(), m_SelectLike(), m_SExtLike(), m_SExtOrSelf(), m_SpecificSelectCCLike(), m_Undef(), m_ZExtOrSelf(), m_ZExtOrSExt(), llvm::RISCVTargetLowering::PerformDAGCombine(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inline |
Match a floating-point +0.0 or -0.0 constant or splat.
Definition at line 1373 of file SDPatternMatch.h.
|
inline |
Definition at line 791 of file SDPatternMatch.h.
|
inline |
Definition at line 1125 of file SDPatternMatch.h.
References llvm::ISD::BITCAST.
|
inline |
Definition at line 1135 of file SDPatternMatch.h.
References llvm::ISD::BITREVERSE.
|
inline |
Definition at line 1130 of file SDPatternMatch.h.
References llvm::ISD::BSWAP.
|
inline |
Definition at line 798 of file SDPatternMatch.h.
|
inline |
Definition at line 810 of file SDPatternMatch.h.
|
inline |
Match a SETCC with any condition code, allowing the operands to be commuted.
Definition at line 524 of file SDPatternMatch.h.
References LHS, m_CondCode(), RHS, and llvm::ISD::SETCC.
Referenced by performAnyAllCombine(), and performBitcastCombine().
|
inline |
Match a SETCC with any condition code, allowing the operands to be commuted, and bind the condition code to CC.
Definition at line 533 of file SDPatternMatch.h.
References LHS, m_CondCode(), RHS, and llvm::ISD::SETCC.
|
inline |
Match a SETCC with a specific condition code, allowing the operands to be commuted.
Definition at line 542 of file SDPatternMatch.h.
References LHS, m_SpecificCondCode(), RHS, and llvm::ISD::SETCC.
Referenced by combineOrOfSetCCToUSUBOCarry(), isTruncateOf(), performAnyAllCombine(), and performBitmaskCombine().
|
inline |
Definition at line 599 of file SDPatternMatch.h.
References Opc.
|
inline |
Definition at line 805 of file SDPatternMatch.h.
|
inline |
Definition at line 1120 of file SDPatternMatch.h.
References Opc.
|
inline |
Definition at line 1041 of file SDPatternMatch.h.
References llvm::ISD::CLMUL, LHS, and RHS.
Referenced by performSRLCombine().
|
inline |
Match any conditional code SDNode.
Definition at line 486 of file SDPatternMatch.h.
Referenced by m_c_SetCC(), m_c_SetCC(), m_SelectCC(), m_SelectCC(), m_SetCC(), and m_SetCC().
|
inline |
Match any conditional code SDNode and return its ISD::CondCode value.
Definition at line 488 of file SDPatternMatch.h.
|
inline |
Match any integer constants or splat of an integer constant.
Definition at line 1291 of file SDPatternMatch.h.
Referenced by combineAdd(), combineAddMulh(), combineAndOnGF2P8AFFINEQBOperand(), combineNarrowableShiftedLoad(), combineNestedGF2P8AFFINEQB(), combineOrAndToBitfieldInsert(), combineOrToBitfieldInsert(), combineOrWithGF2P8AFFINEQB(), combinePMULH(), combineShlAddIAddImpl(), combineXorOnGF2P8AFFINEQBOperand(), combineXorToBitfieldInsert(), combineXorWithGF2P8AFFINEQB(), combineXorWithTwoGF2P8AFFINEQB(), detectUSatPattern(), foldSubCtlzNot(), getShlAddShlAdd(), llvm::SDPatternMatch::SpecificInt_match::match(), matchPMADDWD(), matchPMADDWD_2(), llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr(), performMINMAXCombine(), performSUBCombine(), and reverseZExtICmpCombine().
|
inline |
Match any integer constants or splat of an integer constant; return the specific constant or constant splat value.
Definition at line 1294 of file SDPatternMatch.h.
|
inline |
Match any integer constants or splat of an integer constant that can fit in 64 bits; return the specific constant or constant splat value, sign-extended to 64 bits.
Definition at line 1304 of file SDPatternMatch.h.
|
inline |
Match any integer constants or splat of an integer constant that can fit in 64 bits; return the specific constant or constant splat value, zero-extended to 64 bits.
Definition at line 1298 of file SDPatternMatch.h.
References uint64_t.
|
inline |
Definition at line 1220 of file SDPatternMatch.h.
References llvm::ISD::CTLZ.
|
inline |
Definition at line 1216 of file SDPatternMatch.h.
References llvm::ISD::CTPOP.
|
inline |
Definition at line 1224 of file SDPatternMatch.h.
References llvm::ISD::CTTZ.
|
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 91 of file SDPatternMatch.h.
|
inline |
Definition at line 853 of file SDPatternMatch.h.
References llvm::SDNodeFlags::Disjoint, LHS, llvm::ISD::OR, and RHS.
Referenced by m_AddLike(), m_NSWAddLike(), and m_NUWAddLike().
Definition at line 961 of file SDPatternMatch.h.
References llvm::SDNodeFlags::Exact, LHS, m_AnyOf(), RHS, llvm::ISD::SRA, and llvm::ISD::SRL.
Referenced by expandMulToAddOrSubOfShl(), and getShlAddShlAdd().
|
inline |
Definition at line 1082 of file SDPatternMatch.h.
References llvm::ISD::EXTRACT_VECTOR_ELT, LHS, and RHS.
|
inline |
Definition at line 1087 of file SDPatternMatch.h.
References llvm::ISD::EXTRACT_SUBVECTOR, LHS, and RHS.
|
inline |
Definition at line 1165 of file SDPatternMatch.h.
References llvm::ISD::FABS.
|
inline |
Definition at line 1046 of file SDPatternMatch.h.
References llvm::ISD::FADD, LHS, and RHS.
|
inline |
Match false boolean value based on the information provided by TargetLowering.
Definition at line 1426 of file SDPatternMatch.h.
Definition at line 1061 of file SDPatternMatch.h.
References llvm::ISD::FDIV, LHS, and RHS.
|
inline |
Definition at line 353 of file SDPatternMatch.h.
References m_Value().
Match fixed-length vector ValueTypes.
Definition at line 350 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 336 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1056 of file SDPatternMatch.h.
References llvm::ISD::FMUL, LHS, and RHS.
|
inline |
Definition at line 1228 of file SDPatternMatch.h.
References llvm::ISD::FNEG.
|
inline |
Definition at line 1212 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_SINT.
|
inline |
Definition at line 1208 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_UINT.
Definition at line 1066 of file SDPatternMatch.h.
References llvm::ISD::FREM, LHS, and RHS.
|
inline |
Definition at line 978 of file SDPatternMatch.h.
References llvm::ISD::FSHL, and m_TernaryOp().
Referenced by llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match().
|
inline |
Definition at line 1030 of file SDPatternMatch.h.
|
inline |
Definition at line 984 of file SDPatternMatch.h.
References llvm::ISD::FSHR, and m_TernaryOp().
Referenced by llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match().
|
inline |
Definition at line 1036 of file SDPatternMatch.h.
Definition at line 1051 of file SDPatternMatch.h.
References llvm::ISD::FSUB, LHS, and RHS.
|
inline |
Definition at line 293 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 573 of file SDPatternMatch.h.
References llvm::ISD::INSERT_VECTOR_ELT.
|
inline |
Definition at line 580 of file SDPatternMatch.h.
References llvm::sampleprof::Base, llvm::ISD::INSERT_SUBVECTOR, LHS, RHS, and llvm::Sub.
Referenced by combineOr(), combineTargetShuffle(), llvm::RISCVTargetLowering::PerformDAGCombine(), and performPredicateLoadCombine().
|
inline |
Definition at line 328 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1441 of file SDPatternMatch.h.
References llvm::ISD::INTRINSIC_WO_CHAIN, m_Node(), and m_SpecificInt().
Referenced by isFrexpExp(), and perfomPextFirstTrueVectorCombine().
|
inline |
Match legal SDNodes based on the information provided by TargetLowering.
Definition at line 237 of file SDPatternMatch.h.
References llvm::SelectionDAG::getTargetLoweringInfo(), llvm::TargetLoweringBase::isOperationLegal(), N, and P.
|
inline |
Match legal ValueTypes based on the information provided by TargetLowering.
Definition at line 369 of file SDPatternMatch.h.
References llvm::SelectionDAG::getTargetLoweringInfo(), llvm::TargetLoweringBase::isTypeLegal(), N, and P.
|
inline |
Definition at line 566 of file SDPatternMatch.h.
References llvm::ISD::LOAD, m_Result(), and llvm::Offset.
Definition at line 884 of file SDPatternMatch.h.
References LHS, m_AnyOf(), Opc, and RHS.
Referenced by m_SMaxLike(), m_SMinLike(), m_UMaxLike(), and m_UMinLike().
|
inline |
Definition at line 838 of file SDPatternMatch.h.
References LHS, llvm::ISD::MUL, and RHS.
|
inline |
Match a negate as a sub(0, v)
Definition at line 1430 of file SDPatternMatch.h.
References m_Sub(), and llvm::PatternMatch::m_Zero().
Referenced by llvm::SDPatternMatch::SpecificNeg_match::match().
|
inline |
Definition at line 1144 of file SDPatternMatch.h.
References llvm::SDNodeFlags::NonNeg, and llvm::ISD::ZERO_EXTEND.
Referenced by m_SExtLike().
| auto llvm::SDPatternMatch::m_Node | ( | const OpndPreds &... | Preds | ) |
Definition at line 404 of file SDPatternMatch.h.
References m_AllOf(), and m_SpecificOpc().
Referenced by combineConcatVectorOfShuffles(), combinePExtWideningAddAcc(), m_IntrinsicWOChain(), m_SelectCC(), m_SelectCC(), m_SpecificSelectCC(), llvm::RISCVTargetLowering::PerformDAGCombine(), performVEXT_VLCombine(), and reassociateAddSubLong().
| auto llvm::SDPatternMatch::m_Node | ( | unsigned | Opcode, |
| const OpndPreds &... | preds ) |
Definition at line 410 of file SDPatternMatch.h.
References m_AllOf(), and m_SpecificOpc().
| auto llvm::SDPatternMatch::m_NoneOf | ( | const Preds &... | preds | ) |
Definition at line 155 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 1436 of file SDPatternMatch.h.
References llvm::MIPatternMatch::m_AllOnes(), and m_Xor().
Definition at line 827 of file SDPatternMatch.h.
References llvm::ISD::ADD, LHS, llvm::SDNodeFlags::NoSignedWrap, and RHS.
Referenced by m_NSWAddLike().
Definition at line 864 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_DisjointOr(), m_NSWAdd(), and RHS.
|
inline |
Definition at line 198 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 191 of file SDPatternMatch.h.
References P.
Referenced by combineConcatVectorOfShuffles().
Definition at line 821 of file SDPatternMatch.h.
References llvm::ISD::ADD, LHS, llvm::SDNodeFlags::NoUnsignedWrap, and RHS.
Referenced by m_NUWAddLike().
Definition at line 869 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_DisjointOr(), m_NUWAdd(), and RHS.
|
inline |
Definition at line 1399 of file SDPatternMatch.h.
|
inline |
Definition at line 195 of file SDPatternMatch.h.
References m_Value().
Referenced by combineConcatVectorOfShuffles(), foldAndToUsubsat(), foldBitOrderCrossLogicOp(), foldMaskedMerge(), foldSelectWithIdentityConstant(), foldVSelectToSignBitSplatMask(), performNanGuardFpToSatCombine(), llvm::TargetLowering::SimplifyDemandedBits(), takeInexpensiveLog2(), tryToFoldExtendSelectLoad(), and visitORCommutative().
|
inline |
Definition at line 187 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 848 of file SDPatternMatch.h.
References LHS, llvm::ISD::OR, and RHS.
Referenced by m_BitwiseLogic(), and llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr().
|
inline |
Definition at line 294 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 171 of file SDPatternMatch.h.
References llvm::ISD::POISON.
|
inline |
Definition at line 1536 of file SDPatternMatch.h.
References llvm::ISD::ADD.
|
inline |
Definition at line 1548 of file SDPatternMatch.h.
References llvm::ISD::AND.
|
inline |
Definition at line 1554 of file SDPatternMatch.h.
References llvm::ISD::MUL.
|
inline |
Definition at line 1560 of file SDPatternMatch.h.
References llvm::ISD::ADD, and llvm::SDNodeFlags::NoSignedWrap.
|
inline |
Definition at line 1567 of file SDPatternMatch.h.
References llvm::ISD::ADD, and llvm::SDNodeFlags::NoUnsignedWrap.
|
inline |
Definition at line 1542 of file SDPatternMatch.h.
References llvm::ISD::OR.
|
inline |
Match only if the SDValue is a certain result at ResNo.
Definition at line 74 of file SDPatternMatch.h.
References P.
Referenced by m_Load().
Definition at line 967 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::ROTL.
Referenced by combineBTToBitOpFlag(), and llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match().
Definition at line 972 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::ROTR.
Referenced by llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match().
|
inline |
Definition at line 362 of file SDPatternMatch.h.
References m_Value().
Definition at line 934 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SDIV.
|
inline |
Definition at line 549 of file SDPatternMatch.h.
References Cond, F, llvm::ISD::SELECT, and T.
Referenced by m_SelectCCLike(), m_SelectCCLike(), m_SelectLike(), and m_SpecificSelectCCLike().
|
inline |
Match a SELECT_CC with any condition code.
Definition at line 605 of file SDPatternMatch.h.
References F, m_CondCode(), m_Node(), llvm::ISD::SELECT_CC, and T.
Referenced by m_SelectCCLike(), and m_SelectCCLike().
|
inline |
Match a SELECT_CC with any condition code and bind the condition code to CC.
Definition at line 612 of file SDPatternMatch.h.
References F, m_CondCode(), m_Node(), llvm::ISD::SELECT_CC, and T.
|
inline |
Match a SELECT of a SETCC or a SELECT_CC with any condition code.
Definition at line 626 of file SDPatternMatch.h.
References F, m_AnyOf(), m_Select(), m_SelectCC(), m_SetCC(), and T.
|
inline |
Match a SELECT of a SETCC or a SELECT_CC with any condition code and bind the condition code to CC.
Definition at line 634 of file SDPatternMatch.h.
References F, m_AnyOf(), m_Select(), m_SelectCC(), m_SetCC(), and T.
|
inline |
Definition at line 560 of file SDPatternMatch.h.
References Cond, F, m_AnyOf(), m_Select(), m_VSelect(), and T.
|
inline |
Match a SETCC with any condition code.
Definition at line 498 of file SDPatternMatch.h.
References LHS, m_CondCode(), RHS, and llvm::ISD::SETCC.
Referenced by commuteSelect(), foldVSelectToSignBitSplatMask(), m_SelectCCLike(), m_SelectCCLike(), performCTPOPCombine(), and performMaskedLoadToVPLoadCombine().
|
inline |
Match a SETCC with any condition code and bind the condition code to CC.
Definition at line 507 of file SDPatternMatch.h.
References LHS, m_CondCode(), RHS, and llvm::ISD::SETCC.
|
inline |
Definition at line 1148 of file SDPatternMatch.h.
References llvm::ISD::SIGN_EXTEND.
Referenced by m_SExtLike(), m_SExtOrSelf(), and m_ZExtOrSExt().
|
inline |
Definition at line 1181 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 1177 of file SDPatternMatch.h.
Definition at line 948 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SHL.
Referenced by llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr().
|
inline |
Definition at line 1071 of file SDPatternMatch.h.
References llvm::ISD::VECTOR_SHUFFLE.
|
inline |
Definition at line 1077 of file SDPatternMatch.h.
References mask().
|
inline |
Definition at line 900 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SMAX.
Definition at line 905 of file SDPatternMatch.h.
References LHS, m_MaxMinLike(), and RHS.
Referenced by combineConcatVectorOps(), and combineVTRUNCSAT().
|
inline |
Definition at line 890 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SMIN.
Definition at line 895 of file SDPatternMatch.h.
References LHS, m_MaxMinLike(), and RHS.
|
inline |
Definition at line 59 of file SDPatternMatch.h.
Referenced by llvm::SDPatternMatch::SpecificNeg_match::match().
|
inline |
Match a conditional code SDNode with a specific ISD::CondCode.
Definition at line 492 of file SDPatternMatch.h.
Referenced by m_c_SpecificSetCC(), m_SpecificSelectCC(), and m_SpecificSetCC().
|
inline |
Match a specific float constant.
Definition at line 1358 of file SDPatternMatch.h.
|
inline |
Definition at line 1360 of file SDPatternMatch.h.
|
inline |
Match a specific integer constant or constant splat value.
Definition at line 1336 of file SDPatternMatch.h.
Referenced by m_IntrinsicWOChain().
|
inline |
Definition at line 1339 of file SDPatternMatch.h.
References uint64_t.
|
inline |
Match a negation of a specific value V, either as sub(0, V) or as constant(s) that are the negation of V's constant(s).
Definition at line 1463 of file SDPatternMatch.h.
|
inline |
Definition at line 159 of file SDPatternMatch.h.
Referenced by combineAnd(), combineNarrowableShiftedLoad(), m_Node(), m_Node(), m_PredicateAsCounterWhile(), llvm::SDPatternMatch::BinaryOpc_match< LHS_P, RHS_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::TernaryOpc_match< T0_P, T1_P, T2_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::UnaryOpc_match< Opnd_P, ExcludeChain >::match(), and matchPMADDWD().
|
inline |
Definition at line 163 of file SDPatternMatch.h.
|
inline |
Definition at line 302 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a SELECT_CC with a specific condition code.
Definition at line 619 of file SDPatternMatch.h.
References F, m_Node(), m_SpecificCondCode(), llvm::ISD::SELECT_CC, and T.
Referenced by m_SpecificSelectCCLike().
|
inline |
Match a SELECT of a SETCC or a SELECT_CC with a specific condition code.
Definition at line 641 of file SDPatternMatch.h.
References F, m_AnyOf(), m_Select(), m_SpecificSelectCC(), m_SpecificSetCC(), and T.
|
inline |
Match a SETCC with a specific condition code.
Definition at line 515 of file SDPatternMatch.h.
References LHS, m_SpecificCondCode(), RHS, and llvm::ISD::SETCC.
Referenced by combineOrOfSetCCToUSUBOCarry(), combineSelect(), combineShiftLeft(), combineShiftRightLogical(), foldAddSubBoolOfMaskedVal(), foldMaskedShiftToUSHL(), foldSelectToUSATI(), m_SpecificSelectCCLike(), and performNanGuardFpToSatCombine().
|
inline |
Definition at line 316 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a vector ValueType.
Definition at line 309 of file SDPatternMatch.h.
References P.
Referenced by combineBasicSADPattern(), and reassociateAddSubLong().
|
inline |
Definition at line 289 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a specific ValueType.
Definition at line 286 of file SDPatternMatch.h.
References P.
Referenced by combineAdd(), combineAddOfExts(), combineAnd(), combineCastedMaskArithmetic(), combineOr(), combineOrAndToBitfieldInsert(), combinePExtWideningAddAcc(), combinePExtWideningSubAcc(), combineSCALAR_TO_VECTOR(), foldSelectToUSATI(), m_Glue(), m_OtherVT(), performMINMAXCombine(), and performPredicateLoadCombine().
|
inline |
Definition at line 586 of file SDPatternMatch.h.
References llvm::Offset, llvm::V1, and llvm::ISD::VECTOR_SPLICE_RIGHT.
Definition at line 953 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SRA.
Referenced by foldAndToUsubsat().
Definition at line 943 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SREM.
Definition at line 957 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SRL.
Referenced by combineAdd(), combinePMULH(), llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr(), performSRLCombine(), performSUBCombine(), and reverseZExtICmpCombine().
Definition at line 833 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SUB.
Referenced by m_Neg().
|
inline |
Definition at line 593 of file SDPatternMatch.h.
References Opc.
Referenced by combineAndOnGF2P8AFFINEQBOperand(), combineNestedGF2P8AFFINEQB(), combineOrWithGF2P8AFFINEQB(), combineXorOnGF2P8AFFINEQBOperand(), combineXorWithGF2P8AFFINEQB(), combineXorWithTwoGF2P8AFFINEQB(), m_FShL(), and m_FShR().
|
inline |
Match true boolean value based on the information provided by TargetLowering.
Definition at line 1422 of file SDPatternMatch.h.
|
inline |
Definition at line 1156 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 1200 of file SDPatternMatch.h.
References m_Trunc().
Definition at line 930 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UDIV.
|
inline |
Definition at line 920 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UMAX.
Definition at line 925 of file SDPatternMatch.h.
References LHS, m_MaxMinLike(), and RHS.
|
inline |
Definition at line 910 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UMIN.
Definition at line 915 of file SDPatternMatch.h.
References LHS, m_MaxMinLike(), and RHS.
|
inline |
Definition at line 1116 of file SDPatternMatch.h.
References Opc.
Referenced by combineAddOfExts(), combineVTRUNCSAT(), and foldBitOrderCrossLogicOp().
|
inline |
Definition at line 167 of file SDPatternMatch.h.
References m_AnyOf(), llvm::ISD::POISON, and llvm::ISD::UNDEF.
Match if the inner pattern does NOT match.
Definition at line 143 of file SDPatternMatch.h.
References P.
Referenced by m_NoneOf().
Definition at line 939 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UREM.
|
inline |
Match any valid SDValue.
Definition at line 57 of file SDPatternMatch.h.
Referenced by m_FixedVectorVT(), m_FloatingPointVT(), m_IntegerVT(), m_NUses(), m_OneUse(), m_ScalableVectorVT(), m_SpecificScalarVT(), m_SpecificVectorElementVT(), m_SpecificVT(), m_VectorVT(), m_VT(), llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match(), and llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr().
|
inline |
Definition at line 213 of file SDPatternMatch.h.
References N.
|
inline |
Definition at line 1233 of file SDPatternMatch.h.
References llvm::ISD::VECTOR_REVERSE.
|
inline |
Definition at line 345 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1204 of file SDPatternMatch.h.
References llvm::ISD::VSCALE.
|
inline |
Definition at line 555 of file SDPatternMatch.h.
References Cond, F, T, and llvm::ISD::VSELECT.
Referenced by commuteSelect(), foldToMaskedStore(), and m_SelectLike().
|
inline |
Retreive the ValueType of the current SDValue.
Definition at line 263 of file SDPatternMatch.h.
References m_Value(), and ValueType_bind().
Referenced by combineStore(), and performCTPOPCombine().
Definition at line 265 of file SDPatternMatch.h.
References P, and ValueType_bind().
|
inline |
Definition at line 874 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::XOR.
Referenced by m_BitwiseLogic(), and m_Not().
|
inline |
Definition at line 1402 of file SDPatternMatch.h.
|
inline |
Definition at line 1139 of file SDPatternMatch.h.
References llvm::ISD::ZERO_EXTEND.
Referenced by m_ZExtOrSelf(), and m_ZExtOrSExt().
|
inline |
Match a zext or identity Allows to peek through optional extensions.
Definition at line 1171 of file SDPatternMatch.h.
|
inline |
Match a zext or sext.
Definition at line 1186 of file SDPatternMatch.h.
|
nodiscard |
Definition at line 37 of file SDPatternMatch.h.
References N, P, and sd_match().
|
nodiscard |
Definition at line 32 of file SDPatternMatch.h.
Referenced by canonicalizeMaskForVLPredicate(), combineAdd(), combineAddMulh(), combineAddOfExts(), combineAnd(), combineAndNotOrIntoAndNotAnd(), combineAndOnGF2P8AFFINEQBOperand(), combineAndXorSubWithBMI(), combineBasicSADPattern(), combineBTToBitOpFlag(), combineCastedMaskArithmetic(), combineConcatVectorOfShuffles(), combineConcatVectorOps(), combineLogicBlendIntoConditionalNegate(), combineMaskBitOp(), combineNarrowableShiftedLoad(), combineNestedGF2P8AFFINEQB(), combineOr(), combineOrAndToBitfieldInsert(), combineOrOfSetCCToUSUBOCarry(), combineOrToBitfieldInsert(), combineOrWithGF2P8AFFINEQB(), combinePExtWideningAddAcc(), combinePExtWideningSubAcc(), combinePMULH(), combineSCALAR_TO_VECTOR(), combineSelect(), combineSetCC(), combineShiftLeft(), combineShiftRightArithmetic(), combineShiftRightLogical(), combineShiftToPMULH(), combineShlAddIAddImpl(), combineStore(), combineTargetShuffle(), combineVectorInsert(), combineVTRUNCSAT(), combineXorOnGF2P8AFFINEQBOperand(), combineXorToBitfieldInsert(), combineXorWithGF2P8AFFINEQB(), combineXorWithTwoGF2P8AFFINEQB(), commuteSelect(), detectPMADDUBSW(), detectSSatPattern(), detectSSatSPattern(), detectSSatUPattern(), detectUSatPattern(), detectUSatUPattern(), expandMulToAddOrSubOfShl(), foldAddSubBoolOfMaskedVal(), foldAndToUsubsat(), foldBitOrderCrossLogicOp(), foldMaskedMerge(), foldMaskedShiftToUSHL(), foldReduceOperandViaVDOT4A(), foldSelectToUSATI(), foldSelectWithIdentityConstant(), foldSubCtlzNot(), foldToMaskedStore(), foldVSelectToSignBitSplatMask(), getShlAddShlAdd(), isFrexpExp(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), isTruncateOf(), llvm::SDPatternMatch::BinaryOpc_match< LHS_P, RHS_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match(), llvm::SDPatternMatch::SpecificInt_match::match(), llvm::SDPatternMatch::SpecificNeg_match::match(), llvm::SDPatternMatch::TernaryOpc_match< T0_P, T1_P, T2_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::UnaryOpc_match< Opnd_P, ExcludeChain >::match(), matchLogicBlend(), matchPMADDWD(), matchPMADDWD_2(), llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr(), matchVPMADD52(), narrowBitOpRMW(), perfomPextFirstTrueVectorCombine(), performAddTruncShiftCombine(), performANDORDUPNOTCombine(), performAnyAllCombine(), performBitcastCombine(), performBitmaskCombine(), performCTPOPCombine(), llvm::RISCVTargetLowering::PerformDAGCombine(), performLastTrueTestVectorCombine(), performMaskedLoadToVPLoadCombine(), performMINMAXCombine(), performNanGuardFpToSatCombine(), performPredicateLoadCombine(), performReverseEVLCombine(), performSRLCombine(), performSUBCombine(), performVEXT_VLCombine(), performVP_STORECombine(), llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::reassociatableMatchHelper(), reassociateAddSubLong(), reverseZExtICmpCombine(), sd_match(), llvm::X86TargetLowering::shouldFoldSelectWithIdentityConstant(), llvm::TargetLowering::SimplifyDemandedBits(), takeInexpensiveLog2(), tryToFoldExtendSelectLoad(), and visitORCommutative().
| llvm::SDPatternMatch::TLI_pred_match | ( | const PredFuncT & | Pred, |
| const Pattern & | P ) -> TLI_pred_match< Pattern, PredFuncT > |
References P.