reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

include/llvm/IR/PatternMatch.h
   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) {