|
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...
|
|