|
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) |
| 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<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> | |
| 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 1146 of file SDPatternMatch.h.
References llvm::ISD::ABS, llvm::ISD::ABS_MIN_POISON, and m_AnyOf().
Referenced by combineBasicSADPattern().
|
inline |
Definition at line 802 of file SDPatternMatch.h.
References llvm::ISD::ADD, LHS, and RHS.
Referenced by m_AddLike().
Definition at line 845 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 1174 of file SDPatternMatch.h.
References m_AnyExt().
Definition at line 143 of file SDPatternMatch.h.
|
inline |
Definition at line 1386 of file SDPatternMatch.h.
|
inline |
Definition at line 829 of file SDPatternMatch.h.
References llvm::ISD::AND, LHS, and RHS.
Referenced by m_BitwiseLogic().
|
inline |
Definition at line 1138 of file SDPatternMatch.h.
References llvm::ISD::ANY_EXTEND.
Referenced by combineSCALAR_TO_VECTOR(), m_AExtOrSelf(), and visitORCommutative().
Definition at line 147 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(), llvm::RISCVTargetLowering::PerformDAGCombine(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inline |
Match a floating-point +0.0 or -0.0 constant or splat.
Definition at line 1354 of file SDPatternMatch.h.
|
inline |
Definition at line 777 of file SDPatternMatch.h.
|
inline |
Definition at line 1111 of file SDPatternMatch.h.
References llvm::ISD::BITCAST.
|
inline |
Definition at line 1121 of file SDPatternMatch.h.
References llvm::ISD::BITREVERSE.
|
inline |
Definition at line 1116 of file SDPatternMatch.h.
References llvm::ISD::BSWAP.
|
inline |
Definition at line 784 of file SDPatternMatch.h.
|
inline |
Definition at line 796 of file SDPatternMatch.h.
|
inline |
Match a SETCC with any condition code, allowing the operands to be commuted.
Definition at line 510 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 519 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 528 of file SDPatternMatch.h.
References LHS, m_SpecificCondCode(), RHS, and llvm::ISD::SETCC.
Referenced by combineOrOfSetCCToUSUBOCarry(), isTruncateOf(), performAnyAllCombine(), and performBitmaskCombine().
|
inline |
Definition at line 585 of file SDPatternMatch.h.
References Opc.
|
inline |
Definition at line 791 of file SDPatternMatch.h.
|
inline |
Definition at line 1106 of file SDPatternMatch.h.
References Opc.
|
inline |
Definition at line 1027 of file SDPatternMatch.h.
References llvm::ISD::CLMUL, LHS, and RHS.
|
inline |
Match any conditional code SDNode.
Definition at line 472 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 474 of file SDPatternMatch.h.
|
inline |
Match any integer constants or splat of an integer constant.
Definition at line 1272 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(), and reverseZExtICmpCombine().
|
inline |
Match any integer constants or splat of an integer constant; return the specific constant or constant splat value.
Definition at line 1275 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 1285 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 1279 of file SDPatternMatch.h.
References uint64_t.
|
inline |
Definition at line 1201 of file SDPatternMatch.h.
References llvm::ISD::CTLZ.
|
inline |
Definition at line 1197 of file SDPatternMatch.h.
References llvm::ISD::CTPOP.
|
inline |
Definition at line 1205 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 839 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 947 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 1068 of file SDPatternMatch.h.
References llvm::ISD::EXTRACT_VECTOR_ELT, LHS, and RHS.
|
inline |
Definition at line 1073 of file SDPatternMatch.h.
References llvm::ISD::EXTRACT_SUBVECTOR, LHS, and RHS.
|
inline |
Definition at line 1151 of file SDPatternMatch.h.
References llvm::ISD::FABS.
|
inline |
Definition at line 1032 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 1407 of file SDPatternMatch.h.
Definition at line 1047 of file SDPatternMatch.h.
References llvm::ISD::FDIV, LHS, and RHS.
|
inline |
Definition at line 345 of file SDPatternMatch.h.
References m_Value().
Match fixed-length vector ValueTypes.
Definition at line 342 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 328 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1042 of file SDPatternMatch.h.
References llvm::ISD::FMUL, LHS, and RHS.
|
inline |
Definition at line 1209 of file SDPatternMatch.h.
References llvm::ISD::FNEG.
|
inline |
Definition at line 1193 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_SINT.
|
inline |
Definition at line 1189 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_UINT.
Definition at line 1052 of file SDPatternMatch.h.
References llvm::ISD::FREM, LHS, and RHS.
|
inline |
Definition at line 964 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 1016 of file SDPatternMatch.h.
|
inline |
Definition at line 970 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 1022 of file SDPatternMatch.h.
Definition at line 1037 of file SDPatternMatch.h.
References llvm::ISD::FSUB, LHS, and RHS.
|
inline |
Definition at line 285 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 559 of file SDPatternMatch.h.
References llvm::ISD::INSERT_VECTOR_ELT.
|
inline |
Definition at line 566 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 320 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1422 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 229 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 361 of file SDPatternMatch.h.
References llvm::SelectionDAG::getTargetLoweringInfo(), llvm::TargetLoweringBase::isTypeLegal(), N, and P.
|
inline |
Definition at line 552 of file SDPatternMatch.h.
References llvm::ISD::LOAD, m_Result(), and llvm::Offset.
Definition at line 870 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 824 of file SDPatternMatch.h.
References LHS, llvm::ISD::MUL, and RHS.
|
inline |
Match a negate as a sub(0, v)
Definition at line 1411 of file SDPatternMatch.h.
References m_Sub(), and llvm::PatternMatch::m_Zero().
Referenced by llvm::SDPatternMatch::SpecificNeg_match::match().
|
inline |
Definition at line 1130 of file SDPatternMatch.h.
References llvm::SDNodeFlags::NonNeg, and llvm::ISD::ZERO_EXTEND.
Referenced by m_SExtLike().
| auto llvm::SDPatternMatch::m_Node | ( | unsigned | Opcode, |
| const OpndPreds &... | preds ) |
Definition at line 396 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_NoneOf | ( | const Preds &... | preds | ) |
Definition at line 151 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 1417 of file SDPatternMatch.h.
References llvm::MIPatternMatch::m_AllOnes(), and m_Xor().
Definition at line 813 of file SDPatternMatch.h.
References llvm::ISD::ADD, LHS, llvm::SDNodeFlags::NoSignedWrap, and RHS.
Referenced by m_NSWAddLike().
Definition at line 850 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_DisjointOr(), m_NSWAdd(), and RHS.
|
inline |
Definition at line 190 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 183 of file SDPatternMatch.h.
References P.
Referenced by combineConcatVectorOfShuffles().
Definition at line 807 of file SDPatternMatch.h.
References llvm::ISD::ADD, LHS, llvm::SDNodeFlags::NoUnsignedWrap, and RHS.
Referenced by m_NUWAddLike().
Definition at line 855 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_DisjointOr(), m_NUWAdd(), and RHS.
|
inline |
Definition at line 1380 of file SDPatternMatch.h.
|
inline |
Definition at line 187 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 179 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 834 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 286 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 163 of file SDPatternMatch.h.
References llvm::ISD::POISON.
|
inline |
Definition at line 1517 of file SDPatternMatch.h.
References llvm::ISD::ADD.
|
inline |
Definition at line 1529 of file SDPatternMatch.h.
References llvm::ISD::AND.
|
inline |
Definition at line 1535 of file SDPatternMatch.h.
References llvm::ISD::MUL.
|
inline |
Definition at line 1541 of file SDPatternMatch.h.
References llvm::ISD::ADD, and llvm::SDNodeFlags::NoSignedWrap.
|
inline |
Definition at line 1548 of file SDPatternMatch.h.
References llvm::ISD::ADD, and llvm::SDNodeFlags::NoUnsignedWrap.
|
inline |
Definition at line 1523 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 953 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 958 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 354 of file SDPatternMatch.h.
References m_Value().
Definition at line 920 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SDIV.
|
inline |
Definition at line 535 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 591 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 598 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 612 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 620 of file SDPatternMatch.h.
References F, m_AnyOf(), m_Select(), m_SelectCC(), m_SetCC(), and T.
|
inline |
Definition at line 546 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 484 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 493 of file SDPatternMatch.h.
References LHS, m_CondCode(), RHS, and llvm::ISD::SETCC.
|
inline |
Definition at line 1134 of file SDPatternMatch.h.
References llvm::ISD::SIGN_EXTEND.
Referenced by m_SExtLike(), and m_SExtOrSelf().
|
inline |
Definition at line 1167 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 1163 of file SDPatternMatch.h.
Definition at line 934 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 1057 of file SDPatternMatch.h.
References llvm::ISD::VECTOR_SHUFFLE.
|
inline |
Definition at line 1063 of file SDPatternMatch.h.
References mask().
|
inline |
Definition at line 886 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SMAX.
Definition at line 891 of file SDPatternMatch.h.
References LHS, m_MaxMinLike(), and RHS.
Referenced by combineConcatVectorOps(), and combineVTRUNCSAT().
|
inline |
Definition at line 876 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SMIN.
Definition at line 881 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 478 of file SDPatternMatch.h.
Referenced by m_c_SpecificSetCC(), m_SpecificSelectCC(), and m_SpecificSetCC().
|
inline |
Match a specific float constant.
Definition at line 1339 of file SDPatternMatch.h.
|
inline |
Definition at line 1341 of file SDPatternMatch.h.
|
inline |
Match a specific integer constant or constant splat value.
Definition at line 1317 of file SDPatternMatch.h.
Referenced by m_IntrinsicWOChain().
|
inline |
Definition at line 1320 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 1444 of file SDPatternMatch.h.
|
inline |
Definition at line 155 of file SDPatternMatch.h.
Referenced by combineAnd(), combineNarrowableShiftedLoad(), 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 294 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a SELECT_CC with a specific condition code.
Definition at line 605 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 627 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 501 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 308 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a vector ValueType.
Definition at line 301 of file SDPatternMatch.h.
References P.
Referenced by combineBasicSADPattern(), and reassociateAddSubLong().
|
inline |
Definition at line 281 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a specific ValueType.
Definition at line 278 of file SDPatternMatch.h.
References P.
Referenced by combineAdd(), combineAnd(), combineCastedMaskArithmetic(), combineOr(), combineOrAndToBitfieldInsert(), combinePExtWideningAddAcc(), combinePExtWideningSubAcc(), combineSCALAR_TO_VECTOR(), foldSelectToUSATI(), m_Glue(), m_OtherVT(), performMINMAXCombine(), and performPredicateLoadCombine().
|
inline |
Definition at line 572 of file SDPatternMatch.h.
References llvm::Offset, llvm::V1, and llvm::ISD::VECTOR_SPLICE_RIGHT.
Definition at line 939 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SRA.
Referenced by foldAndToUsubsat().
Definition at line 929 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SREM.
Definition at line 943 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(), and reverseZExtICmpCombine().
Definition at line 819 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SUB.
Referenced by m_Neg().
|
inline |
Definition at line 579 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 1403 of file SDPatternMatch.h.
|
inline |
Definition at line 1142 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 1181 of file SDPatternMatch.h.
References m_Trunc().
Definition at line 916 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UDIV.
|
inline |
Definition at line 906 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UMAX.
Definition at line 911 of file SDPatternMatch.h.
References LHS, m_MaxMinLike(), and RHS.
|
inline |
Definition at line 896 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UMIN.
Definition at line 901 of file SDPatternMatch.h.
References LHS, m_MaxMinLike(), and RHS.
|
inline |
Definition at line 1102 of file SDPatternMatch.h.
References Opc.
Referenced by combineVTRUNCSAT(), and foldBitOrderCrossLogicOp().
|
inline |
Definition at line 159 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 139 of file SDPatternMatch.h.
References P.
Referenced by m_NoneOf().
Definition at line 925 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 205 of file SDPatternMatch.h.
References N.
|
inline |
Definition at line 1214 of file SDPatternMatch.h.
References llvm::ISD::VECTOR_REVERSE.
|
inline |
Definition at line 337 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1185 of file SDPatternMatch.h.
References llvm::ISD::VSCALE.
|
inline |
Definition at line 541 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 255 of file SDPatternMatch.h.
References m_Value(), and ValueType_bind().
Referenced by combineStore(), and performCTPOPCombine().
Definition at line 257 of file SDPatternMatch.h.
References P, and ValueType_bind().
|
inline |
Definition at line 860 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::XOR.
Referenced by m_BitwiseLogic(), and m_Not().
|
inline |
Definition at line 1383 of file SDPatternMatch.h.
|
inline |
Definition at line 1125 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 1157 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(), 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(), 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.