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()
339 Matcher *Shared = Optn; in FactorNodes()
345 Matcher *Tmp = EqualMatchers[i]->takeNext(); in FactorNodes()
399 FindNodeWithKind(OptionsToMatch[i], Matcher::CheckType)); in FactorNodes()
423 SmallVector<std::pair<const SDNodeInfo *, Matcher *>, 8> Cases; in FactorNodes()
439 SmallVector<std::pair<MVT::SimpleValueType, Matcher *>, 8> Cases; in FactorNodes()
441 Matcher *M = FindNodeWithKind(OptionsToMatch[i], Matcher::CheckType); in FactorNodes()
445 Matcher *MatcherWithoutCTM = OptionsToMatch[i]->unlinkNode(CTM); in FactorNodes()
452 Matcher *PrevMatcher = Cases[Entry - 1].second; in FactorNodes()
459 SmallVector<Matcher *, 2> Entries = {PrevMatcher, MatcherWithoutCTM}; in FactorNodes()
471 std::unique_ptr<Matcher> Scope(SM); in FactorNodes()
494 void llvm::OptimizeMatcher(std::unique_ptr<Matcher> &MatcherPtr, in OptimizeMatcher()