|
| template<typename Val , typename Pattern > |
| bool | llvm::PatternMatch::match (Val *V, const Pattern &P) |
| |
| template<typename T > |
| OneUse_match< T > | llvm::PatternMatch::m_OneUse (const T &SubPattern) |
| |
| class_match< Value > | llvm::PatternMatch::m_Value () |
| | Match an arbitrary value and ignore it. More...
|
| |
| class_match< BinaryOperator > | llvm::PatternMatch::m_BinOp () |
| | Match an arbitrary binary operation and ignore it. More...
|
| |
| class_match< CmpInst > | llvm::PatternMatch::m_Cmp () |
| | Matches any compare instruction and ignore it. More...
|
| |
| class_match< ConstantInt > | llvm::PatternMatch::m_ConstantInt () |
| | Match an arbitrary ConstantInt and ignore it. More...
|
| |
| class_match< UndefValue > | llvm::PatternMatch::m_Undef () |
| | Match an arbitrary undef constant. More...
|
| |
| class_match< Constant > | llvm::PatternMatch::m_Constant () |
| | Match an arbitrary Constant and ignore it. More...
|
| |
| template<typename LTy , typename RTy > |
| match_combine_or< LTy, RTy > | llvm::PatternMatch::m_CombineOr (const LTy &L, const RTy &R) |
| | Combine two pattern matchers matching L || R. More...
|
| |
| template<typename LTy , typename RTy > |
| match_combine_and< LTy, RTy > | llvm::PatternMatch::m_CombineAnd (const LTy &L, const RTy &R) |
| | Combine two pattern matchers matching L && R. More...
|
| |
| apint_match | llvm::PatternMatch::m_APInt (const APInt *&Res) |
| | Match a ConstantInt or splatted ConstantVector, binding the specified pointer to the contained APInt. More...
|
| |
| apfloat_match | llvm::PatternMatch::m_APFloat (const APFloat *&Res) |
| | Match a ConstantFP or splatted ConstantVector, binding the specified pointer to the contained APFloat. More...
|
| |
| cst_pred_ty< is_all_ones > | llvm::PatternMatch::m_AllOnes () |
| | Match an integer or vector with all bits set. More...
|
| |
| cst_pred_ty< is_maxsignedvalue > | llvm::PatternMatch::m_MaxSignedValue () |
| | Match an integer or vector with values having all bits except for the high bit set (0x7f...). More...
|
| |
| api_pred_ty< is_maxsignedvalue > | llvm::PatternMatch::m_MaxSignedValue (const APInt *&V) |
| |
| cst_pred_ty< is_negative > | llvm::PatternMatch::m_Negative () |
| | Match an integer or vector of negative values. More...
|
| |
| api_pred_ty< is_negative > | llvm::PatternMatch::m_Negative (const APInt *&V) |
| |
| cst_pred_ty< is_nonnegative > | llvm::PatternMatch::m_NonNegative () |
| | Match an integer or vector of nonnegative values. More...
|
| |
| api_pred_ty< is_nonnegative > | llvm::PatternMatch::m_NonNegative (const APInt *&V) |
| |
| cst_pred_ty< is_one > | llvm::PatternMatch::m_One () |
| | Match an integer 1 or a vector with all elements equal to 1. More...
|
| |
| cst_pred_ty< is_zero_int > | llvm::PatternMatch::m_ZeroInt () |
| | Match an integer 0 or a vector with all elements equal to 0. More...
|
| |
| is_zero | llvm::PatternMatch::m_Zero () |
| | Match any null constant or a vector with all elements equal to 0. More...
|
| |
| cst_pred_ty< is_power2 > | llvm::PatternMatch::m_Power2 () |
| | Match an integer or vector power-of-2. More...
|
| |
| api_pred_ty< is_power2 > | llvm::PatternMatch::m_Power2 (const APInt *&V) |
| |
| cst_pred_ty< is_power2_or_zero > | llvm::PatternMatch::m_Power2OrZero () |
| | Match an integer or vector of 0 or power-of-2 values. More...
|
| |
| api_pred_ty< is_power2_or_zero > | llvm::PatternMatch::m_Power2OrZero (const APInt *&V) |
| |
| cst_pred_ty< is_sign_mask > | llvm::PatternMatch::m_SignMask () |
| | Match an integer or vector with only the sign bit(s) set. More...
|
| |
| cst_pred_ty< is_lowbit_mask > | llvm::PatternMatch::m_LowBitMask () |
| | Match an integer or vector with only the low bit(s) set. More...
|
| |
| cstfp_pred_ty< is_nan > | llvm::PatternMatch::m_NaN () |
| | Match an arbitrary NaN constant. More...
|
| |
| cstfp_pred_ty< is_any_zero_fp > | llvm::PatternMatch::m_AnyZeroFP () |
| | Match a floating-point negative zero or positive zero. More...
|
| |
| cstfp_pred_ty< is_pos_zero_fp > | llvm::PatternMatch::m_PosZeroFP () |
| | Match a floating-point positive zero. More...
|
| |
| cstfp_pred_ty< is_neg_zero_fp > | llvm::PatternMatch::m_NegZeroFP () |
| | Match a floating-point negative zero. More...
|
| |
| bind_ty< Value > | llvm::PatternMatch::m_Value (Value *&V) |
| | Match a value, capturing it if we match. More...
|
| |
| bind_ty< const Value > | llvm::PatternMatch::m_Value (const Value *&V) |
| |
| bind_ty< Instruction > | llvm::PatternMatch::m_Instruction (Instruction *&I) |
| | Match an instruction, capturing it if we match. More...
|
| |
| bind_ty< BinaryOperator > | llvm::PatternMatch::m_BinOp (BinaryOperator *&I) |
| | Match a binary operator, capturing it if we match. More...
|
| |
| bind_ty< ConstantInt > | llvm::PatternMatch::m_ConstantInt (ConstantInt *&CI) |
| | Match a ConstantInt, capturing the value if we match. More...
|
| |
| bind_ty< Constant > | llvm::PatternMatch::m_Constant (Constant *&C) |
| | Match a Constant, capturing the value if we match. More...
|
| |
| bind_ty< ConstantFP > | llvm::PatternMatch::m_ConstantFP (ConstantFP *&C) |
| | Match a ConstantFP, capturing the value if we match. More...
|
| |
| specificval_ty | llvm::PatternMatch::m_Specific (const Value *V) |
| | Match if we have a specific specified value. More...
|
| |
| deferredval_ty< Value > | llvm::PatternMatch::m_Deferred (Value *const &V) |
| | A commutative-friendly version of m_Specific(). More...
|
| |
| deferredval_ty< const Value > | llvm::PatternMatch::m_Deferred (const Value *const &V) |
| |
| specific_fpval | llvm::PatternMatch::m_SpecificFP (double V) |
| | Match a specific floating point value or vector with all elements equal to the value. More...
|
| |
| specific_fpval | llvm::PatternMatch::m_FPOne () |
| | Match a float 1.0 or vector with all elements equal to 1.0. More...
|
| |
| specific_intval | llvm::PatternMatch::m_SpecificInt (uint64_t V) |
| | Match a specific integer value or vector with all elements equal to the value. More...
|
| |
| bind_const_intval_ty | llvm::PatternMatch::m_ConstantInt (uint64_t &V) |
| | Match a ConstantInt and bind to its value. More...
|
| |
| template<typename LHS , typename RHS > |
| AnyBinaryOp_match< LHS, RHS > | llvm::PatternMatch::m_BinOp (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Add > | llvm::PatternMatch::m_Add (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::FAdd > | llvm::PatternMatch::m_FAdd (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Sub > | llvm::PatternMatch::m_Sub (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::FSub > | llvm::PatternMatch::m_FSub (const LHS &L, const RHS &R) |
| |
| template<typename OpTy > |
| FNeg_match< OpTy > | llvm::PatternMatch::m_FNeg (const OpTy &X) |
| | Match 'fneg X' as 'fsub -0.0, X'. More...
|
| |
| template<typename RHS > |
| BinaryOp_match< cstfp_pred_ty< is_any_zero_fp >, RHS, Instruction::FSub > | llvm::PatternMatch::m_FNegNSZ (const RHS &X) |
| | Match 'fneg X' as 'fsub +-0.0, X'. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Mul > | llvm::PatternMatch::m_Mul (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::FMul > | llvm::PatternMatch::m_FMul (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::UDiv > | llvm::PatternMatch::m_UDiv (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::SDiv > | llvm::PatternMatch::m_SDiv (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::FDiv > | llvm::PatternMatch::m_FDiv (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::URem > | llvm::PatternMatch::m_URem (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::SRem > | llvm::PatternMatch::m_SRem (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::FRem > | llvm::PatternMatch::m_FRem (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::And > | llvm::PatternMatch::m_And (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Or > | llvm::PatternMatch::m_Or (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Xor > | llvm::PatternMatch::m_Xor (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Shl > | llvm::PatternMatch::m_Shl (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::LShr > | llvm::PatternMatch::m_LShr (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::AShr > | llvm::PatternMatch::m_AShr (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Add, OverflowingBinaryOperator::NoSignedWrap > | llvm::PatternMatch::m_NSWAdd (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Sub, OverflowingBinaryOperator::NoSignedWrap > | llvm::PatternMatch::m_NSWSub (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Mul, OverflowingBinaryOperator::NoSignedWrap > | llvm::PatternMatch::m_NSWMul (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Shl, OverflowingBinaryOperator::NoSignedWrap > | llvm::PatternMatch::m_NSWShl (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Add, OverflowingBinaryOperator::NoUnsignedWrap > | llvm::PatternMatch::m_NUWAdd (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Sub, OverflowingBinaryOperator::NoUnsignedWrap > | llvm::PatternMatch::m_NUWSub (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Mul, OverflowingBinaryOperator::NoUnsignedWrap > | llvm::PatternMatch::m_NUWMul (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| OverflowingBinaryOp_match< LHS, RHS, Instruction::Shl, OverflowingBinaryOperator::NoUnsignedWrap > | llvm::PatternMatch::m_NUWShl (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| BinOpPred_match< LHS, RHS, is_shift_op > | llvm::PatternMatch::m_Shift (const LHS &L, const RHS &R) |
| | Matches shift operations. More...
|
| |
| template<typename LHS , typename RHS > |
| BinOpPred_match< LHS, RHS, is_right_shift_op > | llvm::PatternMatch::m_Shr (const LHS &L, const RHS &R) |
| | Matches logical shift operations. More...
|
| |
| template<typename LHS , typename RHS > |
| BinOpPred_match< LHS, RHS, is_logical_shift_op > | llvm::PatternMatch::m_LogicalShift (const LHS &L, const RHS &R) |
| | Matches logical shift operations. More...
|
| |
| template<typename LHS , typename RHS > |
| BinOpPred_match< LHS, RHS, is_bitwiselogic_op > | llvm::PatternMatch::m_BitwiseLogic (const LHS &L, const RHS &R) |
| | Matches bitwise logic operations. More...
|
| |
| template<typename LHS , typename RHS > |
| BinOpPred_match< LHS, RHS, is_idiv_op > | llvm::PatternMatch::m_IDiv (const LHS &L, const RHS &R) |
| | Matches integer division operations. More...
|
| |
| template<typename T > |
| Exact_match< T > | llvm::PatternMatch::m_Exact (const T &SubPattern) |
| |
| template<typename LHS , typename RHS > |
| CmpClass_match< LHS, RHS, CmpInst, CmpInst::Predicate > | llvm::PatternMatch::m_Cmp (CmpInst::Predicate &Pred, const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| CmpClass_match< LHS, RHS, ICmpInst, ICmpInst::Predicate > | llvm::PatternMatch::m_ICmp (ICmpInst::Predicate &Pred, const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| CmpClass_match< LHS, RHS, FCmpInst, FCmpInst::Predicate > | llvm::PatternMatch::m_FCmp (FCmpInst::Predicate &Pred, const LHS &L, const RHS &R) |
| |
| template<typename Cond , typename LHS , typename RHS > |
| ThreeOps_match< Cond, LHS, RHS, Instruction::Select > | llvm::PatternMatch::m_Select (const Cond &C, const LHS &L, const RHS &R) |
| | Matches SelectInst. More...
|
| |
| template<int64_t L, int64_t R, typename Cond > |
| ThreeOps_match< Cond, constantint_match< L >, constantint_match< R >, Instruction::Select > | llvm::PatternMatch::m_SelectCst (const Cond &C) |
| | This matches a select of two constants, e.g. More...
|
| |
| template<typename Val_t , typename Elt_t , typename Idx_t > |
| ThreeOps_match< Val_t, Elt_t, Idx_t, Instruction::InsertElement > | llvm::PatternMatch::m_InsertElement (const Val_t &Val, const Elt_t &Elt, const Idx_t &Idx) |
| | Matches InsertElementInst. More...
|
| |
| template<typename Val_t , typename Idx_t > |
| TwoOps_match< Val_t, Idx_t, Instruction::ExtractElement > | llvm::PatternMatch::m_ExtractElement (const Val_t &Val, const Idx_t &Idx) |
| | Matches ExtractElementInst. More...
|
| |
| template<typename V1_t , typename V2_t , typename Mask_t > |
| ThreeOps_match< V1_t, V2_t, Mask_t, Instruction::ShuffleVector > | llvm::PatternMatch::m_ShuffleVector (const V1_t &v1, const V2_t &v2, const Mask_t &m) |
| | Matches ShuffleVectorInst. More...
|
| |
| template<typename OpTy > |
| OneOps_match< OpTy, Instruction::Load > | llvm::PatternMatch::m_Load (const OpTy &Op) |
| | Matches LoadInst. More...
|
| |
| template<typename ValueOpTy , typename PointerOpTy > |
| TwoOps_match< ValueOpTy, PointerOpTy, Instruction::Store > | llvm::PatternMatch::m_Store (const ValueOpTy &ValueOp, const PointerOpTy &PointerOp) |
| | Matches StoreInst. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::BitCast > | llvm::PatternMatch::m_BitCast (const OpTy &Op) |
| | Matches BitCast. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::PtrToInt > | llvm::PatternMatch::m_PtrToInt (const OpTy &Op) |
| | Matches PtrToInt. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::Trunc > | llvm::PatternMatch::m_Trunc (const OpTy &Op) |
| | Matches Trunc. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::SExt > | llvm::PatternMatch::m_SExt (const OpTy &Op) |
| | Matches SExt. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::ZExt > | llvm::PatternMatch::m_ZExt (const OpTy &Op) |
| | Matches ZExt. More...
|
| |
| template<typename OpTy > |
| match_combine_or< CastClass_match< OpTy, Instruction::ZExt >, CastClass_match< OpTy, Instruction::SExt > > | llvm::PatternMatch::m_ZExtOrSExt (const OpTy &Op) |
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::UIToFP > | llvm::PatternMatch::m_UIToFP (const OpTy &Op) |
| | Matches UIToFP. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::SIToFP > | llvm::PatternMatch::m_SIToFP (const OpTy &Op) |
| | Matches SIToFP. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::FPTrunc > | llvm::PatternMatch::m_FPTrunc (const OpTy &Op) |
| | Matches FPTrunc. More...
|
| |
| template<typename OpTy > |
| CastClass_match< OpTy, Instruction::FPExt > | llvm::PatternMatch::m_FPExt (const OpTy &Op) |
| | Matches FPExt. More...
|
| |
| br_match | llvm::PatternMatch::m_UnconditionalBr (BasicBlock *&Succ) |
| |
| template<typename Cond_t > |
| brc_match< Cond_t > | llvm::PatternMatch::m_Br (const Cond_t &C, BasicBlock *&T, BasicBlock *&F) |
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, smax_pred_ty > | llvm::PatternMatch::m_SMax (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, smin_pred_ty > | llvm::PatternMatch::m_SMin (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, umax_pred_ty > | llvm::PatternMatch::m_UMax (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, umin_pred_ty > | llvm::PatternMatch::m_UMin (const LHS &L, const RHS &R) |
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< FCmpInst, LHS, RHS, ofmax_pred_ty > | llvm::PatternMatch::m_OrdFMax (const LHS &L, const RHS &R) |
| | Match an 'ordered' floating point maximum function. More...
|
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< FCmpInst, LHS, RHS, ofmin_pred_ty > | llvm::PatternMatch::m_OrdFMin (const LHS &L, const RHS &R) |
| | Match an 'ordered' floating point minimum function. More...
|
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< FCmpInst, LHS, RHS, ufmax_pred_ty > | llvm::PatternMatch::m_UnordFMax (const LHS &L, const RHS &R) |
| | Match an 'unordered' floating point maximum function. More...
|
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< FCmpInst, LHS, RHS, ufmin_pred_ty > | llvm::PatternMatch::m_UnordFMin (const LHS &L, const RHS &R) |
| | Match an 'unordered' floating point minimum function. More...
|
| |
| template<typename LHS_t , typename RHS_t , typename Sum_t > |
| UAddWithOverflow_match< LHS_t, RHS_t, Sum_t > | llvm::PatternMatch::m_UAddWithOverflow (const LHS_t &L, const RHS_t &R, const Sum_t &S) |
| | Match an icmp instruction checking for unsigned overflow on addition. More...
|
| |
| template<unsigned OpI, typename Opnd_t > |
| Argument_match< Opnd_t > | llvm::PatternMatch::m_Argument (const Opnd_t &Op) |
| | Match an argument. More...
|
| |
| template<Intrinsic::ID IntrID> |
| IntrinsicID_match | llvm::PatternMatch::m_Intrinsic () |
| | Match intrinsic calls like this: m_Intrinsic<Intrinsic::fabs>(m_Value(X)) More...
|
| |
| template<Intrinsic::ID IntrID, typename T0 > |
| m_Intrinsic_Ty< T0 >::Ty | llvm::PatternMatch::m_Intrinsic (const T0 &Op0) |
| |
| template<Intrinsic::ID IntrID, typename T0 , typename T1 > |
| m_Intrinsic_Ty< T0, T1 >::Ty | llvm::PatternMatch::m_Intrinsic (const T0 &Op0, const T1 &Op1) |
| |
| template<Intrinsic::ID IntrID, typename T0 , typename T1 , typename T2 > |
| m_Intrinsic_Ty< T0, T1, T2 >::Ty | llvm::PatternMatch::m_Intrinsic (const T0 &Op0, const T1 &Op1, const T2 &Op2) |
| |
| template<Intrinsic::ID IntrID, typename T0 , typename T1 , typename T2 , typename T3 > |
| m_Intrinsic_Ty< T0, T1, T2, T3 >::Ty | llvm::PatternMatch::m_Intrinsic (const T0 &Op0, const T1 &Op1, const T2 &Op2, const T3 &Op3) |
| |
| template<typename Opnd0 > |
| m_Intrinsic_Ty< Opnd0 >::Ty | llvm::PatternMatch::m_BitReverse (const Opnd0 &Op0) |
| |
| template<typename Opnd0 > |
| m_Intrinsic_Ty< Opnd0 >::Ty | llvm::PatternMatch::m_BSwap (const Opnd0 &Op0) |
| |
| template<typename Opnd0 > |
| m_Intrinsic_Ty< Opnd0 >::Ty | llvm::PatternMatch::m_FAbs (const Opnd0 &Op0) |
| |
| template<typename Opnd0 > |
| m_Intrinsic_Ty< Opnd0 >::Ty | llvm::PatternMatch::m_FCanonicalize (const Opnd0 &Op0) |
| |
| template<typename Opnd0 , typename Opnd1 > |
| m_Intrinsic_Ty< Opnd0, Opnd1 >::Ty | llvm::PatternMatch::m_FMin (const Opnd0 &Op0, const Opnd1 &Op1) |
| |
| template<typename Opnd0 , typename Opnd1 > |
| m_Intrinsic_Ty< Opnd0, Opnd1 >::Ty | llvm::PatternMatch::m_FMax (const Opnd0 &Op0, const Opnd1 &Op1) |
| |
| template<typename LHS , typename RHS > |
| AnyBinaryOp_match< LHS, RHS, true > | llvm::PatternMatch::m_c_BinOp (const LHS &L, const RHS &R) |
| | Matches a BinaryOperator with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| CmpClass_match< LHS, RHS, ICmpInst, ICmpInst::Predicate, true > | llvm::PatternMatch::m_c_ICmp (ICmpInst::Predicate &Pred, const LHS &L, const RHS &R) |
| | Matches an ICmp with a predicate over LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Add, true > | llvm::PatternMatch::m_c_Add (const LHS &L, const RHS &R) |
| | Matches a Add with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Mul, true > | llvm::PatternMatch::m_c_Mul (const LHS &L, const RHS &R) |
| | Matches a Mul with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::And, true > | llvm::PatternMatch::m_c_And (const LHS &L, const RHS &R) |
| | Matches an And with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Or, true > | llvm::PatternMatch::m_c_Or (const LHS &L, const RHS &R) |
| | Matches an Or with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::Xor, true > | llvm::PatternMatch::m_c_Xor (const LHS &L, const RHS &R) |
| | Matches an Xor with LHS and RHS in either order. More...
|
| |
| template<typename ValTy > |
| BinaryOp_match< cst_pred_ty< is_zero_int >, ValTy, Instruction::Sub > | llvm::PatternMatch::m_Neg (const ValTy &V) |
| | Matches a 'Neg' as 'sub 0, V'. More...
|
| |
| template<typename ValTy > |
| BinaryOp_match< ValTy, cst_pred_ty< is_all_ones >, Instruction::Xor, true > | llvm::PatternMatch::m_Not (const ValTy &V) |
| | Matches a 'Not' as 'xor V, -1' or 'xor -1, V'. More...
|
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, smin_pred_ty, true > | llvm::PatternMatch::m_c_SMin (const LHS &L, const RHS &R) |
| | Matches an SMin with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, smax_pred_ty, true > | llvm::PatternMatch::m_c_SMax (const LHS &L, const RHS &R) |
| | Matches an SMax with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, umin_pred_ty, true > | llvm::PatternMatch::m_c_UMin (const LHS &L, const RHS &R) |
| | Matches a UMin with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| MaxMin_match< ICmpInst, LHS, RHS, umax_pred_ty, true > | llvm::PatternMatch::m_c_UMax (const LHS &L, const RHS &R) |
| | Matches a UMax with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::FAdd, true > | llvm::PatternMatch::m_c_FAdd (const LHS &L, const RHS &R) |
| | Matches FAdd with LHS and RHS in either order. More...
|
| |
| template<typename LHS , typename RHS > |
| BinaryOp_match< LHS, RHS, Instruction::FMul, true > | llvm::PatternMatch::m_c_FMul (const LHS &L, const RHS &R) |
| | Matches FMul with LHS and RHS in either order. More...
|
| |
| template<typename Val_t > |
| Signum_match< Val_t > | llvm::PatternMatch::m_Signum (const Val_t &V) |
| | Matches a signum pattern. More...
|
| |