reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
47 template <typename Val, typename Pattern> bool match(Val *V, const Pattern &P) { 194 inline apint_match m_APInt(const APInt *&Res) { return Res; } 735 LHS_t L; 736 RHS_t R; 740 BinaryOp_match(const LHS_t &LHS, const RHS_t &RHS) : L(LHS), R(RHS) {} 740 BinaryOp_match(const LHS_t &LHS, const RHS_t &RHS) : L(LHS), R(RHS) {} 759 inline BinaryOp_match<LHS, RHS, Instruction::Add> m_Add(const LHS &L, 760 const RHS &R) { 771 inline BinaryOp_match<LHS, RHS, Instruction::Sub> m_Sub(const LHS &L, 771 inline BinaryOp_match<LHS, RHS, Instruction::Sub> m_Sub(const LHS &L, 826 inline BinaryOp_match<LHS, RHS, Instruction::Mul> m_Mul(const LHS &L, 827 const RHS &R) { 838 inline BinaryOp_match<LHS, RHS, Instruction::UDiv> m_UDiv(const LHS &L, 839 const RHS &R) { 844 inline BinaryOp_match<LHS, RHS, Instruction::SDiv> m_SDiv(const LHS &L, 845 const RHS &R) { 856 inline BinaryOp_match<LHS, RHS, Instruction::URem> m_URem(const LHS &L, 857 const RHS &R) { 862 inline BinaryOp_match<LHS, RHS, Instruction::SRem> m_SRem(const LHS &L, 863 const RHS &R) { 874 inline BinaryOp_match<LHS, RHS, Instruction::And> m_And(const LHS &L, 875 const RHS &R) { 880 inline BinaryOp_match<LHS, RHS, Instruction::Or> m_Or(const LHS &L, 881 const RHS &R) { 886 inline BinaryOp_match<LHS, RHS, Instruction::Xor> m_Xor(const LHS &L, 887 const RHS &R) { 892 inline BinaryOp_match<LHS, RHS, Instruction::Shl> m_Shl(const LHS &L, 892 inline BinaryOp_match<LHS, RHS, Instruction::Shl> m_Shl(const LHS &L, 892 inline BinaryOp_match<LHS, RHS, Instruction::Shl> m_Shl(const LHS &L, 893 const RHS &R) { 898 inline BinaryOp_match<LHS, RHS, Instruction::LShr> m_LShr(const LHS &L, 899 const RHS &R) { 904 inline BinaryOp_match<LHS, RHS, Instruction::AShr> m_AShr(const LHS &L, 905 const RHS &R) { 913 RHS_t R; 915 OverflowingBinaryOp_match(const LHS_t &LHS, const RHS_t &RHS) 935 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Add, 937 m_NSWAdd(const LHS &L, const RHS &R) { 951 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Mul, 953 m_NSWMul(const LHS &L, const RHS &R) { 959 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Shl, 961 m_NSWShl(const LHS &L, const RHS &R) { 968 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Add, 970 m_NUWAdd(const LHS &L, const RHS &R) { 984 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Mul, 986 m_NUWMul(const LHS &L, const RHS &R) { 992 inline OverflowingBinaryOp_match<LHS, RHS, Instruction::Shl, 994 m_NUWShl(const LHS &L, const RHS &R) { 1006 RHS_t R; 1008 BinOpPred_match(const LHS_t &LHS, const RHS_t &RHS) : L(LHS), R(RHS) {} 1064 inline BinOpPred_match<LHS, RHS, is_right_shift_op> m_Shr(const LHS &L, 1065 const RHS &R) { 1125 RHS_t R; 1129 CmpClass_match(PredicateTy &Pred, const LHS_t &LHS, const RHS_t &RHS) 1151 inline CmpClass_match<LHS, RHS, ICmpInst, ICmpInst::Predicate> 1152 m_ICmp(ICmpInst::Predicate &Pred, const LHS &L, const RHS &R) { 1201 T1 Op2; 1202 T2 Op3; 1204 ThreeOps_match(const T0 &Op1, const T1 &Op2, const T2 &Op3) 1204 ThreeOps_match(const T0 &Op1, const T1 &Op2, const T2 &Op3) 1219 inline ThreeOps_match<Cond, LHS, RHS, Instruction::Select> 1219 inline ThreeOps_match<Cond, LHS, RHS, Instruction::Select> 1220 m_Select(const Cond &C, const LHS &L, const RHS &R) { 1220 m_Select(const Cond &C, const LHS &L, const RHS &R) { 1433 RHS_t R; 1437 MaxMin_match(const LHS_t &LHS, const RHS_t &RHS) : L(LHS), R(RHS) {} 1524 inline MaxMin_match<ICmpInst, LHS, RHS, smax_pred_ty> m_SMax(const LHS &L, 1525 const RHS &R) { 1530 inline MaxMin_match<ICmpInst, LHS, RHS, smin_pred_ty> m_SMin(const LHS &L, 1531 const RHS &R) { 1536 inline MaxMin_match<ICmpInst, LHS, RHS, umax_pred_ty> m_UMax(const LHS &L, 1537 const RHS &R) { 1542 inline MaxMin_match<ICmpInst, LHS, RHS, umin_pred_ty> m_UMin(const LHS &L, 1543 const RHS &R) { 1828 inline BinaryOp_match<LHS, RHS, Instruction::And, true> m_c_And(const LHS &L, 1829 const RHS &R) {