| 
| template<typename Pattern>  | 
| bool  | llvm::SCEVPatternMatch::match (const SCEV *S, const Pattern &P) | 
| cst_pred_ty< is_zero >  | llvm::SCEVPatternMatch::m_scev_Zero () | 
|   | Match an integer 0.  
  | 
| cst_pred_ty< is_one >  | llvm::SCEVPatternMatch::m_scev_One () | 
|   | Match an integer 1.  
  | 
| cst_pred_ty< is_all_ones >  | llvm::SCEVPatternMatch::m_scev_AllOnes () | 
|   | Match an integer with all bits set.  
  | 
| class_match< const SCEV >  | llvm::SCEVPatternMatch::m_SCEV () | 
| class_match< const SCEVConstant >  | llvm::SCEVPatternMatch::m_SCEVConstant () | 
| class_match< const SCEVVScale >  | llvm::SCEVPatternMatch::m_SCEVVScale () | 
| bind_ty< const SCEV >  | llvm::SCEVPatternMatch::m_SCEV (const SCEV *&V) | 
|   | Match a SCEV, capturing it if we match.  
  | 
| bind_ty< const SCEVConstant >  | llvm::SCEVPatternMatch::m_SCEVConstant (const SCEVConstant *&V) | 
| bind_ty< const SCEVUnknown >  | llvm::SCEVPatternMatch::m_SCEVUnknown (const SCEVUnknown *&V) | 
| bind_ty< const SCEVAddExpr >  | llvm::SCEVPatternMatch::m_scev_Add (const SCEVAddExpr *&V) | 
| bind_ty< const SCEVMulExpr >  | llvm::SCEVPatternMatch::m_scev_Mul (const SCEVMulExpr *&V) | 
| specificscev_ty  | llvm::SCEVPatternMatch::m_scev_Specific (const SCEV *S) | 
|   | Match if we have a specific specified SCEV.  
  | 
| cst_pred_ty< is_specific_cst >  | llvm::SCEVPatternMatch::m_scev_SpecificInt (uint64_t V) | 
|   | Match an SCEV constant with a plain unsigned integer.  
  | 
| cst_pred_ty< is_specific_signed_cst >  | llvm::SCEVPatternMatch::m_scev_SpecificSInt (int64_t V) | 
|   | Match an SCEV constant with a plain signed integer (sign-extended value will be matched)  
  | 
| bind_cst_ty  | llvm::SCEVPatternMatch::m_scev_APInt (const APInt *&C) | 
|   | Match an SCEV constant and bind it to an APInt.  
  | 
| template<typename SCEVTy, typename Op0_t>  | 
| SCEVUnaryExpr_match< SCEVTy, Op0_t >  | llvm::SCEVPatternMatch::m_scev_Unary (const Op0_t &Op0) | 
| template<typename Op0_t>  | 
| SCEVUnaryExpr_match< SCEVSignExtendExpr, Op0_t >  | llvm::SCEVPatternMatch::m_scev_SExt (const Op0_t &Op0) | 
| template<typename Op0_t>  | 
| SCEVUnaryExpr_match< SCEVZeroExtendExpr, Op0_t >  | llvm::SCEVPatternMatch::m_scev_ZExt (const Op0_t &Op0) | 
| template<typename Op0_t>  | 
| SCEVUnaryExpr_match< SCEVPtrToIntExpr, Op0_t >  | llvm::SCEVPatternMatch::m_scev_PtrToInt (const Op0_t &Op0) | 
| template<typename Op0_t>  | 
| SCEVUnaryExpr_match< SCEVTruncateExpr, Op0_t >  | llvm::SCEVPatternMatch::m_scev_Trunc (const Op0_t &Op0) | 
| template<typename SCEVTy, typename Op0_t, typename Op1_t, SCEV::NoWrapFlags WrapFlags = SCEV::FlagAnyWrap, bool Commutable = false>  | 
| SCEVBinaryExpr_match< SCEVTy, Op0_t, Op1_t, WrapFlags, Commutable >  | llvm::SCEVPatternMatch::m_scev_Binary (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVBinaryExpr_match< SCEVAddExpr, Op0_t, Op1_t >  | llvm::SCEVPatternMatch::m_scev_Add (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVBinaryExpr_match< SCEVMulExpr, Op0_t, Op1_t >  | llvm::SCEVPatternMatch::m_scev_Mul (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVBinaryExpr_match< SCEVMulExpr, Op0_t, Op1_t, SCEV::FlagAnyWrap, true >  | llvm::SCEVPatternMatch::m_scev_c_Mul (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVBinaryExpr_match< SCEVMulExpr, Op0_t, Op1_t, SCEV::FlagNUW, true >  | llvm::SCEVPatternMatch::m_scev_c_NUWMul (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVBinaryExpr_match< SCEVUDivExpr, Op0_t, Op1_t >  | llvm::SCEVPatternMatch::m_scev_UDiv (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVBinaryExpr_match< SCEVSMaxExpr, Op0_t, Op1_t >  | llvm::SCEVPatternMatch::m_scev_SMax (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVBinaryExpr_match< SCEVMinMaxExpr, Op0_t, Op1_t >  | llvm::SCEVPatternMatch::m_scev_MinMax (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVURem_match< Op0_t, Op1_t >  | llvm::SCEVPatternMatch::m_scev_URem (Op0_t LHS, Op1_t RHS, ScalarEvolution &SE) | 
|   | Match the mathematical pattern A - (A / B) * B, where A and B can be arbitrary expressions.  
  | 
| class_match< const Loop >  | llvm::SCEVPatternMatch::m_Loop () | 
| specificloop_ty  | llvm::SCEVPatternMatch::m_SpecificLoop (const Loop *L) | 
| bind_ty< const Loop >  | llvm::SCEVPatternMatch::m_Loop (const Loop *&L) | 
| template<typename Op0_t, typename Op1_t>  | 
| SCEVAffineAddRec_match< Op0_t, Op1_t, class_match< const Loop > >  | llvm::SCEVPatternMatch::m_scev_AffineAddRec (const Op0_t &Op0, const Op1_t &Op1) | 
| template<typename Op0_t, typename Op1_t, typename Loop_t>  | 
| SCEVAffineAddRec_match< Op0_t, Op1_t, Loop_t >  | llvm::SCEVPatternMatch::m_scev_AffineAddRec (const Op0_t &Op0, const Op1_t &Op1, const Loop_t &L) |