Lines Matching defs:match
15 // m_BranchOnCount to match specific VPInstructions.
28 template <typename Val, typename Pattern> bool match(Val *V, const Pattern &P) {
29 return P.match(V);
32 template <typename Pattern> bool match(VPUser *U, const Pattern &P) {
34 return R && match(R, P);
38 template <typename ITy> bool match(ITy *V) const { return isa<Class>(V); }
49 template <typename ITy> bool match(ITy *V) const {
64 bool match(VPValue *VPV) const { return VPV == Val; }
77 bool match(VPValue *VPV) const {
112 template <typename ITy> bool match(ITy *V) const {
113 if (L.match(V))
115 if (R.match(V))
126 /// Match a VPValue, capturing it if we match.
131 /// A helper to match an opcode against multiple recipe types.
136 static bool match(const VPRecipeBase *R) {
152 static bool match(const VPRecipeBase *R) {
153 return MatchRecipeAndOpcode<Opcode, RecipeTy>::match(R) ||
154 MatchRecipeAndOpcode<Opcode, RecipeTys...>::match(R);
186 bool match(const VPValue *V) const {
188 return DefR && match(DefR);
191 bool match(const VPSingleDefRecipe *R) const {
192 return match(static_cast<const VPRecipeBase *>(R));
195 bool match(const VPRecipeBase *R) const {
196 if (!detail::MatchRecipeAndOpcode<Opcode, RecipeTys...>::match(R))
202 return Op.match(R->getOperand(Idx));
208 return Op.match(R->getOperand(R->getNumOperands() - Idx - 1));