|
LLVM 23.0.0git
|
Functions | |
| template<typename Pattern, typename MatchContext> | |
| bool | sd_context_match (SDValue N, const MatchContext &Ctx, Pattern &&P) |
| template<typename Pattern, typename MatchContext> | |
| bool | sd_context_match (SDNode *N, const MatchContext &Ctx, Pattern &&P) |
| template<typename Pattern> | |
| bool | sd_match (SDNode *N, const SelectionDAG *DAG, Pattern &&P) |
| template<typename Pattern> | |
| bool | sd_match (SDValue N, const SelectionDAG *DAG, Pattern &&P) |
| template<typename Pattern> | |
| bool | sd_match (SDNode *N, Pattern &&P) |
| template<typename Pattern> | |
| bool | sd_match (SDValue N, Pattern &&P) |
| Value_match | m_Value () |
| Match any valid SDValue. | |
| Value_match | m_Specific (SDValue N) |
| 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 Pattern &P) |
| Match legal SDNodes based on the information provided by TargetLowering. | |
| template<typename MatchContext, typename Pattern> | |
| SwitchContext< MatchContext, Pattern > | m_Context (const MatchContext &Ctx, Pattern &&P) |
| 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 Pattern &P) |
| Match legal ValueTypes based on the information provided by TargetLowering. | |
| template<typename... OpndPreds> | |
| auto | m_Node (unsigned Opcode, const OpndPreds &...preds) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_SetCC (const T0_P &LHS, const T1_P &RHS, const T2_P &CC) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P, true, false > | m_c_SetCC (const T0_P &LHS, const T1_P &RHS, const T2_P &CC) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_Select (const T0_P &Cond, const T1_P &T, const T2_P &F) |
| template<typename T0_P, typename T1_P, typename T2_P> | |
| TernaryOpc_match< T0_P, T1_P, T2_P > | m_VSelect (const T0_P &Cond, const T1_P &T, const T2_P &F) |
| template<typename 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_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, typename CCTy> | |
| auto | m_SelectCC (const LTy &L, const RTy &R, const TTy &T, const FTy &F, const CCTy &CC) |
| template<typename LTy, typename RTy, typename TTy, typename FTy, typename CCTy> | |
| auto | m_SelectCCLike (const LTy &L, const RTy &R, const TTy &T, const FTy &F, const CCTy &CC) |
| 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> | |
| BinaryOpc_match< LHS, RHS > | m_Sub (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_Mul (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_And (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_Or (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_DisjointOr (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| auto | m_AddLike (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| BinaryOpc_match< LHS, RHS, true > | m_Xor (const LHS &L, const RHS &R) |
| template<typename LHS, typename RHS> | |
| 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> | |
| UnaryOpc_match< Opnd > | 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) |
| 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) |
| Negative_match | m_Negative () |
| template<typename Pattern> | |
| auto | m_Negative (const Pattern &P) |
| NonNegative_match | m_NonNegative () |
| template<typename Pattern> | |
| auto | m_NonNegative (const Pattern &P) |
| StrictlyPositive_match | m_StrictlyPositive () |
| template<typename Pattern> | |
| auto | m_StrictlyPositive (const Pattern &P) |
| NonPositive_match | m_NonPositive () |
| template<typename Pattern> | |
| auto | m_NonPositive (const Pattern &P) |
| NonZero_match | m_NonZero () |
| template<typename Pattern> | |
| auto | m_NonZero (const Pattern &P) |
| Ones_match | m_One (bool AllowUndefs=false) |
| Zero_match | m_Zero (bool AllowUndefs=false) |
| AllOnes_match | m_AllOnes (bool AllowUndefs=false) |
| auto | m_True () |
| Match true boolean value based on the information provided by TargetLowering. | |
| auto | m_False () |
| Match false boolean value based on the information provided by TargetLowering. | |
| CondCode_match | m_CondCode () |
| Match any conditional code SDNode. | |
| CondCode_match | m_CondCode (ISD::CondCode &CC) |
| Match any conditional code SDNode and return its ISD::CondCode value. | |
| CondCode_match | m_SpecificCondCode (ISD::CondCode CC) |
| Match a conditional code SDNode with a specific ISD::CondCode. | |
| template<typename ValTy> | |
| BinaryOpc_match< 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 1159 of file SDPatternMatch.h.
References llvm::ISD::ABS.
Referenced by combineBasicSADPattern().
|
inline |
Definition at line 819 of file SDPatternMatch.h.
References llvm::ISD::ADD, LHS, and RHS.
Referenced by m_AddLike().
Definition at line 850 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 1186 of file SDPatternMatch.h.
References m_AnyExt().
Definition at line 215 of file SDPatternMatch.h.
Referenced by combineAdd(), combineAnd(), combineBasicSADPattern(), combineLogicBlendIntoConditionalNegate(), combineSCALAR_TO_VECTOR(), commuteSelect(), m_Negative(), m_Node(), m_NonNegative(), m_NonPositive(), m_NonZero(), and m_StrictlyPositive().
|
inline |
Definition at line 1456 of file SDPatternMatch.h.
|
inline |
Definition at line 834 of file SDPatternMatch.h.
References llvm::ISD::AND, LHS, and RHS.
Referenced by m_BitwiseLogic().
|
inline |
Definition at line 1151 of file SDPatternMatch.h.
References llvm::ISD::ANY_EXTEND.
Referenced by combineSCALAR_TO_VECTOR(), m_AExtOrSelf(), and visitORCommutative().
Definition at line 219 of file SDPatternMatch.h.
Referenced by combineBasicSADPattern(), getShlAddShlAdd(), m_AddLike(), m_BitwiseLogic(), m_ExactSr(), m_MaxMinLike(), m_NoneOf(), m_SelectCCLike(), m_SelectLike(), m_SExtLike(), m_SExtOrSelf(), m_SMaxLike(), m_SMinLike(), m_UMaxLike(), m_UMinLike(), m_Undef(), m_ZExtOrSelf(), llvm::RISCVTargetLowering::PerformDAGCombine(), and llvm::TargetLowering::SimplifyDemandedBits().
|
inline |
Definition at line 794 of file SDPatternMatch.h.
|
inline |
Definition at line 1124 of file SDPatternMatch.h.
References llvm::ISD::BITCAST.
|
inline |
Definition at line 1134 of file SDPatternMatch.h.
References llvm::ISD::BITREVERSE.
|
inline |
Definition at line 1129 of file SDPatternMatch.h.
References llvm::ISD::BSWAP.
|
inline |
Definition at line 801 of file SDPatternMatch.h.
|
inline |
Definition at line 813 of file SDPatternMatch.h.
|
inline |
Definition at line 575 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SETCC.
Referenced by isTruncateOf(), performAnyAllCombine(), performBitcastCombine(), and performBitmaskCombine().
|
inline |
Definition at line 625 of file SDPatternMatch.h.
References Opc.
|
inline |
Definition at line 808 of file SDPatternMatch.h.
|
inline |
Definition at line 1119 of file SDPatternMatch.h.
References Opc.
|
inline |
Definition at line 1039 of file SDPatternMatch.h.
References llvm::ISD::CLMUL, LHS, and RHS.
|
inline |
Match any conditional code SDNode.
Definition at line 1523 of file SDPatternMatch.h.
Referenced by commuteSelect(), foldVSelectToSignBitSplatMask(), performAnyAllCombine(), and performBitcastCombine().
|
inline |
Match any conditional code SDNode and return its ISD::CondCode value.
Definition at line 1525 of file SDPatternMatch.h.
|
inline |
Match any integer constants or splat of an integer constant.
Definition at line 1280 of file SDPatternMatch.h.
Referenced by combineAdd(), combineNarrowableShiftedLoad(), combineOrAndToBitfieldInsert(), combineOrToBitfieldInsert(), combineOrWithGF2P8AFFINEQB(), combinePMULH(), combineShlAddIAddImpl(), combineXorToBitfieldInsert(), combineXorWithGF2P8AFFINEQB(), combineXorWithTwoGF2P8AFFINEQB(), detectUSatPattern(), foldSubCtlzNot(), getShlAddShlAdd(), m_False(), m_True(), 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 1283 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 1293 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 1287 of file SDPatternMatch.h.
|
inline |
Definition at line 332 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 1213 of file SDPatternMatch.h.
References llvm::ISD::CTLZ.
Referenced by foldSubCtlzNot().
|
inline |
Definition at line 1209 of file SDPatternMatch.h.
References llvm::ISD::CTPOP.
|
inline |
Definition at line 1217 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 147 of file SDPatternMatch.h.
|
inline |
Definition at line 844 of file SDPatternMatch.h.
References llvm::SDNodeFlags::Disjoint, LHS, llvm::ISD::OR, and RHS.
Referenced by m_AddLike().
Definition at line 954 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 1080 of file SDPatternMatch.h.
References llvm::ISD::EXTRACT_VECTOR_ELT, LHS, and RHS.
|
inline |
Definition at line 1085 of file SDPatternMatch.h.
References llvm::ISD::EXTRACT_SUBVECTOR, LHS, and RHS.
|
inline |
Definition at line 1163 of file SDPatternMatch.h.
References llvm::ISD::FABS.
|
inline |
Definition at line 1044 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 1482 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::getBooleanContents(), llvm::APInt::isZero(), m_ConstInt(), m_Value(), N, sd_match(), llvm::TargetLoweringBase::UndefinedBooleanContent, llvm::TargetLoweringBase::ZeroOrNegativeOneBooleanContent, and llvm::TargetLoweringBase::ZeroOrOneBooleanContent.
Definition at line 1059 of file SDPatternMatch.h.
References llvm::ISD::FDIV, LHS, and RHS.
|
inline |
Definition at line 449 of file SDPatternMatch.h.
References m_Value().
Match fixed-length vector ValueTypes.
Definition at line 446 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 432 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1054 of file SDPatternMatch.h.
References llvm::ISD::FMUL, LHS, and RHS.
|
inline |
Definition at line 1221 of file SDPatternMatch.h.
References llvm::ISD::FNEG.
|
inline |
Definition at line 1205 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_SINT.
|
inline |
Definition at line 1201 of file SDPatternMatch.h.
References llvm::ISD::FP_TO_UINT.
Definition at line 1064 of file SDPatternMatch.h.
References llvm::ISD::FREM, LHS, and RHS.
|
inline |
Definition at line 971 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 1028 of file SDPatternMatch.h.
|
inline |
Definition at line 977 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 1034 of file SDPatternMatch.h.
Definition at line 1049 of file SDPatternMatch.h.
References llvm::ISD::FSUB, LHS, and RHS.
|
inline |
Definition at line 389 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 606 of file SDPatternMatch.h.
References llvm::ISD::INSERT_VECTOR_ELT.
|
inline |
Definition at line 613 of file SDPatternMatch.h.
References llvm::sampleprof::Base, llvm::ISD::INSERT_SUBVECTOR, LHS, RHS, and llvm::Sub.
Referenced by combineOr(), combineTargetShuffle(), and llvm::RISCVTargetLowering::PerformDAGCombine().
|
inline |
Definition at line 424 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1546 of file SDPatternMatch.h.
References llvm::ISD::INTRINSIC_WO_CHAIN, m_Node(), and m_SpecificInt().
Match legal SDNodes based on the information provided by TargetLowering.
Definition at line 312 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::isOperationLegal(), N, and P.
Match legal ValueTypes based on the information provided by TargetLowering.
Definition at line 464 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::isTypeLegal(), N, and P.
|
inline |
Definition at line 599 of file SDPatternMatch.h.
References llvm::ISD::LOAD, m_Result(), and llvm::Offset.
Definition at line 865 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 829 of file SDPatternMatch.h.
References LHS, llvm::ISD::MUL, and RHS.
|
inline |
Match a negate as a sub(0, v)
Definition at line 1535 of file SDPatternMatch.h.
References m_Sub(), and llvm::PatternMatch::m_Zero().
Referenced by llvm::SDPatternMatch::SpecificNeg_match::match().
|
inline |
Definition at line 1428 of file SDPatternMatch.h.
Referenced by m_Negative(), m_SMaxLike(), m_SMinLike(), m_UMaxLike(), and m_UMinLike().
Definition at line 1429 of file SDPatternMatch.h.
References m_AllOf(), m_Negative(), and P.
|
inline |
Definition at line 1143 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 501 of file SDPatternMatch.h.
References m_AllOf(), and m_SpecificOpc().
Referenced by combineAdd(), m_IntrinsicWOChain(), m_SelectCC(), and llvm::RISCVTargetLowering::PerformDAGCombine().
| auto llvm::SDPatternMatch::m_NoneOf | ( | const Preds &... | preds | ) |
Definition at line 223 of file SDPatternMatch.h.
References m_AnyOf(), and m_Unless().
|
inline |
Definition at line 1432 of file SDPatternMatch.h.
Referenced by m_NonNegative(), m_SMaxLike(), m_SMinLike(), m_UMaxLike(), and m_UMinLike().
Definition at line 1433 of file SDPatternMatch.h.
References m_AllOf(), m_NonNegative(), and P.
|
inline |
Definition at line 1442 of file SDPatternMatch.h.
Referenced by m_NonPositive().
Definition at line 1443 of file SDPatternMatch.h.
References m_AllOf(), m_NonPositive(), and P.
|
inline |
Definition at line 1446 of file SDPatternMatch.h.
Referenced by m_NonZero().
Definition at line 1447 of file SDPatternMatch.h.
References m_AllOf(), m_NonZero(), and P.
|
inline |
Match a Not as a xor(v, -1) or xor(-1, v)
Definition at line 1541 of file SDPatternMatch.h.
References llvm::PatternMatch::m_AllOnes(), and m_Xor().
|
inline |
Definition at line 263 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 256 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 1450 of file SDPatternMatch.h.
|
inline |
Definition at line 260 of file SDPatternMatch.h.
References m_Value().
Referenced by foldAndToUsubsat(), foldBitOrderCrossLogicOp(), foldMaskedMerge(), foldSelectWithIdentityConstant(), foldVSelectToSignBitSplatMask(), llvm::TargetLowering::SimplifyDemandedBits(), takeInexpensiveLog2(), tryToFoldExtendSelectLoad(), and visitORCommutative().
|
inline |
Definition at line 252 of file SDPatternMatch.h.
References P.
|
inline |
Definition at line 839 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 390 of file SDPatternMatch.h.
References m_SpecificVT().
|
inline |
Definition at line 235 of file SDPatternMatch.h.
References llvm::ISD::POISON.
|
inline |
Definition at line 1644 of file SDPatternMatch.h.
References llvm::ISD::ADD.
|
inline |
Definition at line 1656 of file SDPatternMatch.h.
References llvm::ISD::AND.
|
inline |
Definition at line 1662 of file SDPatternMatch.h.
References llvm::ISD::MUL.
|
inline |
Definition at line 1668 of file SDPatternMatch.h.
References llvm::ISD::ADD, and llvm::SDNodeFlags::NoSignedWrap.
|
inline |
Definition at line 1675 of file SDPatternMatch.h.
References llvm::ISD::ADD, and llvm::SDNodeFlags::NoUnsignedWrap.
|
inline |
Definition at line 1650 of file SDPatternMatch.h.
References llvm::ISD::OR.
|
inline |
Match only if the SDValue is a certain result at ResNo.
Definition at line 128 of file SDPatternMatch.h.
References P.
Referenced by m_Load().
Definition at line 960 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::ROTL.
Referenced by llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::match().
Definition at line 965 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 458 of file SDPatternMatch.h.
References m_Value().
Definition at line 927 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SDIV.
|
inline |
Definition at line 582 of file SDPatternMatch.h.
References Cond, F, llvm::ISD::SELECT, and T.
Referenced by m_SelectCCLike(), and m_SelectLike().
|
inline |
Definition at line 630 of file SDPatternMatch.h.
References F, m_Node(), llvm::ISD::SELECT_CC, and T.
Referenced by m_SelectCCLike().
|
inline |
Definition at line 636 of file SDPatternMatch.h.
References F, m_AnyOf(), m_Select(), m_SelectCC(), m_SetCC(), and T.
|
inline |
Definition at line 593 of file SDPatternMatch.h.
References Cond, F, m_AnyOf(), m_Select(), m_VSelect(), and T.
|
inline |
Definition at line 569 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SETCC.
Referenced by combineAnd(), combineSelect(), combineShiftLeft(), combineShiftRightLogical(), commuteSelect(), foldAddSubBoolOfMaskedVal(), foldSelectToUSATI(), foldVSelectToSignBitSplatMask(), m_SelectCCLike(), and performCTPOPCombine().
|
inline |
Definition at line 1147 of file SDPatternMatch.h.
References llvm::ISD::SIGN_EXTEND.
Referenced by m_SExtLike(), and m_SExtOrSelf().
|
inline |
Definition at line 1179 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 1175 of file SDPatternMatch.h.
Definition at line 941 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 1069 of file SDPatternMatch.h.
References llvm::ISD::VECTOR_SHUFFLE.
|
inline |
Definition at line 1075 of file SDPatternMatch.h.
References mask().
|
inline |
Definition at line 884 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SMAX.
Definition at line 889 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_MaxMinLike(), m_Negative(), m_NonNegative(), and RHS.
Referenced by combineConcatVectorOps(), and combineVTRUNCSAT().
|
inline |
Definition at line 871 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SMIN.
Definition at line 876 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_MaxMinLike(), m_Negative(), m_NonNegative(), and RHS.
|
inline |
Definition at line 110 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 1529 of file SDPatternMatch.h.
Referenced by combineSelect(), combineShiftLeft(), combineShiftRightLogical(), foldAddSubBoolOfMaskedVal(), foldSelectToUSATI(), isTruncateOf(), performAnyAllCombine(), and performBitmaskCombine().
|
inline |
Match a specific float constant.
Definition at line 1351 of file SDPatternMatch.h.
|
inline |
Definition at line 1353 of file SDPatternMatch.h.
|
inline |
Match a specific integer constant or constant splat value.
Definition at line 1328 of file SDPatternMatch.h.
Referenced by m_IntrinsicWOChain().
|
inline |
Definition at line 1331 of file SDPatternMatch.h.
|
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 1569 of file SDPatternMatch.h.
|
inline |
Definition at line 227 of file SDPatternMatch.h.
Referenced by combineNarrowableShiftedLoad(), m_Node(), llvm::SDPatternMatch::BinaryOpc_match< LHS_P, RHS_P, Commutable, ExcludeChain >::match(), llvm::SDPatternMatch::MaxMin_match< LHS_P, RHS_P, Pred_t, 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 398 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 412 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a vector ValueType.
Definition at line 405 of file SDPatternMatch.h.
References P.
Referenced by combineBasicSADPattern().
|
inline |
Definition at line 385 of file SDPatternMatch.h.
References m_Value().
|
inline |
Match a specific ValueType.
Definition at line 382 of file SDPatternMatch.h.
References P.
Referenced by combineAdd(), combineAnd(), combineCastedMaskArithmetic(), combineOr(), combineOrAndToBitfieldInsert(), combineSCALAR_TO_VECTOR(), foldSelectToUSATI(), m_Glue(), m_OtherVT(), and performMINMAXCombine().
Definition at line 946 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SRA.
Referenced by foldAndToUsubsat().
Definition at line 936 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SREM.
Definition at line 950 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().
|
inline |
Definition at line 1436 of file SDPatternMatch.h.
Referenced by m_StrictlyPositive().
|
inline |
Definition at line 1439 of file SDPatternMatch.h.
References m_AllOf(), m_StrictlyPositive(), and P.
Definition at line 824 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::SUB.
Referenced by m_Neg().
|
inline |
Definition at line 619 of file SDPatternMatch.h.
References Opc.
Referenced by combineOrWithGF2P8AFFINEQB(), combineXorWithGF2P8AFFINEQB(), combineXorWithTwoGF2P8AFFINEQB(), m_FShL(), and m_FShR().
|
inline |
Match true boolean value based on the information provided by TargetLowering.
Definition at line 1462 of file SDPatternMatch.h.
References llvm::TargetLoweringBase::getBooleanContents(), llvm::APInt::isAllOnes(), llvm::APInt::isOne(), m_ConstInt(), m_Value(), N, sd_match(), llvm::TargetLoweringBase::UndefinedBooleanContent, llvm::TargetLoweringBase::ZeroOrNegativeOneBooleanContent, and llvm::TargetLoweringBase::ZeroOrOneBooleanContent.
|
inline |
Definition at line 1155 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 1193 of file SDPatternMatch.h.
References m_Trunc().
Definition at line 923 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UDIV.
|
inline |
Definition at line 910 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UMAX.
Definition at line 915 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_MaxMinLike(), m_Negative(), m_NonNegative(), and RHS.
|
inline |
Definition at line 897 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UMIN.
Definition at line 902 of file SDPatternMatch.h.
References LHS, m_AnyOf(), m_MaxMinLike(), m_Negative(), m_NonNegative(), and RHS.
|
inline |
Definition at line 1115 of file SDPatternMatch.h.
References Opc.
Referenced by combineVTRUNCSAT(), and foldBitOrderCrossLogicOp().
|
inline |
Definition at line 231 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 211 of file SDPatternMatch.h.
References P.
Referenced by m_NoneOf().
Definition at line 932 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::UREM.
|
inline |
Match any valid SDValue.
Definition at line 108 of file SDPatternMatch.h.
Referenced by m_False(), m_FixedVectorVT(), m_FloatingPointVT(), m_IntegerVT(), m_NUses(), m_OneUse(), m_ScalableVectorVT(), m_SpecificScalarVT(), m_SpecificVectorElementVT(), m_SpecificVT(), m_True(), m_Value(), 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 283 of file SDPatternMatch.h.
|
inline |
Conditionally bind an SDValue based on the predicate.
Definition at line 288 of file SDPatternMatch.h.
|
inline |
Definition at line 441 of file SDPatternMatch.h.
References m_Value().
|
inline |
Definition at line 1197 of file SDPatternMatch.h.
References llvm::ISD::VSCALE.
|
inline |
Definition at line 588 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 356 of file SDPatternMatch.h.
References m_Value(), and ValueType_bind().
Referenced by combineStore(), and performCTPOPCombine().
Definition at line 358 of file SDPatternMatch.h.
References P, and ValueType_bind().
|
inline |
Definition at line 855 of file SDPatternMatch.h.
References LHS, RHS, and llvm::ISD::XOR.
Referenced by m_BitwiseLogic(), and m_Not().
|
inline |
Definition at line 1453 of file SDPatternMatch.h.
|
inline |
Definition at line 1138 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 1169 of file SDPatternMatch.h.
|
nodiscard |
Definition at line 67 of file SDPatternMatch.h.
References N, P, sd_context_match(), and SDValue().
|
nodiscard |
Definition at line 61 of file SDPatternMatch.h.
Referenced by foldSubCtlzNot(), 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::MaxMin_match< LHS_P, RHS_P, Pred_t, Commutable, ExcludeChain >::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(), llvm::SDPatternMatch::FunnelShiftLike_match< T0_P, T1_P, T2_P, Left >::matchShiftOr(), llvm::SDPatternMatch::ReassociatableOpc_match< PatternTs >::reassociatableMatchHelper(), sd_context_match(), sd_match(), and sd_match().
|
nodiscard |
Definition at line 73 of file SDPatternMatch.h.
References N, P, and sd_context_match().
Referenced by combineAdd(), combineAnd(), combineAndNotOrIntoAndNotAnd(), combineAndXorSubWithBMI(), combineBasicSADPattern(), combineCastedMaskArithmetic(), combineConcatVectorOps(), combineLogicBlendIntoConditionalNegate(), combineNarrowableShiftedLoad(), combineOr(), combineOrAndToBitfieldInsert(), combineOrToBitfieldInsert(), combineOrWithGF2P8AFFINEQB(), combinePMULH(), combineSCALAR_TO_VECTOR(), combineSelect(), combineSetCC(), combineShiftLeft(), combineShiftRightArithmetic(), combineShiftRightLogical(), combineShiftToPMULH(), combineShlAddIAddImpl(), combineStore(), combineTargetShuffle(), combineVTRUNCSAT(), combineXorToBitfieldInsert(), combineXorWithGF2P8AFFINEQB(), combineXorWithTwoGF2P8AFFINEQB(), commuteSelect(), detectPMADDUBSW(), detectSSatPattern(), detectSSatSPattern(), detectSSatUPattern(), detectUSatPattern(), detectUSatUPattern(), expandMulToAddOrSubOfShl(), foldAddSubBoolOfMaskedVal(), foldAndToUsubsat(), foldBitOrderCrossLogicOp(), foldMaskedMerge(), foldReduceOperandViaVDOTA4(), foldSelectToUSATI(), foldSelectWithIdentityConstant(), foldToMaskedStore(), foldVSelectToSignBitSplatMask(), getShlAddShlAdd(), llvm::SelectionDAG::isKnownToBeAPowerOfTwo(), isTruncateOf(), m_False(), m_True(), matchLogicBlend(), matchPMADDWD(), matchPMADDWD_2(), matchVPMADD52(), narrowBitOpRMW(), performAddTruncShiftCombine(), performANDORDUPNOTCombine(), performAnyAllCombine(), performBitcastCombine(), performBitmaskCombine(), performCTPOPCombine(), llvm::RISCVTargetLowering::PerformDAGCombine(), performLastTrueTestVectorCombine(), performMINMAXCombine(), reverseZExtICmpCombine(), sd_match(), sd_match(), llvm::X86TargetLowering::shouldFoldSelectWithIdentityConstant(), llvm::TargetLowering::SimplifyDemandedBits(), takeInexpensiveLog2(), tryToFoldExtendSelectLoad(), and visitORCommutative().
|
nodiscard |
Definition at line 83 of file SDPatternMatch.h.
References N, P, and sd_match().
|
nodiscard |
Definition at line 78 of file SDPatternMatch.h.
References N, P, and sd_context_match().
|
nodiscard |
Definition at line 88 of file SDPatternMatch.h.
References N, P, and sd_match().
| llvm::SDPatternMatch::TLI_pred_match | ( | const PredFuncT & | Pred, |
| const Pattern & | P ) -> TLI_pred_match< Pattern, PredFuncT > |
References P.