Lines Matching refs:Matcher

25 static void ContractNodes(std::unique_ptr<Matcher> &MatcherPtr,  in ContractNodes()
28 Matcher *N = MatcherPtr.get(); in ContractNodes()
35 std::unique_ptr<Matcher> Child(Scope->takeChild(i)); in ContractNodes()
45 Matcher *New = nullptr; in ContractNodes()
148 Matcher *CheckType = MatcherPtr.release(); in ContractNodes()
149 Matcher *CheckOpcode = CheckType->takeNext(); in ContractNodes()
150 Matcher *Tail = CheckOpcode->takeNext(); in ContractNodes()
187 static Matcher *FindNodeWithKind(Matcher *M, Matcher::KindTy Kind) { in FindNodeWithKind()
206 static void FactorNodes(std::unique_ptr<Matcher> &InputMatcherPtr) { in FactorNodes()
209 std::unique_ptr<Matcher> *RebindableMatcherPtr = &InputMatcherPtr; in FactorNodes()
212 Matcher *N = RebindableMatcherPtr->get(); in FactorNodes()
221 std::unique_ptr<Matcher> &MatcherPtr = *RebindableMatcherPtr; in FactorNodes()
225 SmallVector<Matcher *, 32> OptionsToMatch; in FactorNodes()
229 std::unique_ptr<Matcher> Child(Scope->takeChild(i)); in FactorNodes()
254 Matcher *Optn = *I; in FactorNodes()
260 SmallVector<Matcher *, 8> EqualMatchers; in FactorNodes()
273 Matcher *ScanMatcher = *J; in FactorNodes()
296 Matcher *M2 = FindNodeWithKind(ScanMatcher, Optn->getKind()); in FactorNodes()
299 Matcher *MatcherWithoutM2 = ScanMatcher->unlinkNode(M2); in FactorNodes()
340 Matcher *Shared = Optn; in FactorNodes()
346 Matcher *Tmp = EqualMatchers[i]->takeNext(); in FactorNodes()
400 FindNodeWithKind(OptionsToMatch[i], Matcher::CheckType)); in FactorNodes()
424 SmallVector<std::pair<const SDNodeInfo *, Matcher *>, 8> Cases; in FactorNodes()
440 SmallVector<std::pair<MVT::SimpleValueType, Matcher *>, 8> Cases; in FactorNodes()
442 Matcher *M = FindNodeWithKind(OptionsToMatch[i], Matcher::CheckType); in FactorNodes()
446 Matcher *MatcherWithoutCTM = OptionsToMatch[i]->unlinkNode(CTM); in FactorNodes()
453 Matcher *PrevMatcher = Cases[Entry - 1].second; in FactorNodes()
460 SmallVector<Matcher *, 2> Entries = {PrevMatcher, MatcherWithoutCTM}; in FactorNodes()
472 std::unique_ptr<Matcher> Scope(SM); in FactorNodes()
495 void llvm::OptimizeMatcher(std::unique_ptr<Matcher> &MatcherPtr, in OptimizeMatcher()