Lines Matching refs:Matcher

25 static void ContractNodes(std::unique_ptr<Matcher> &MatcherPtr,  in ContractNodes()
28 Matcher *N = MatcherPtr.get(); in ContractNodes()
34 std::unique_ptr<Matcher> Child(Scope->takeChild(i)); in ContractNodes()
44 Matcher *New = nullptr; in ContractNodes()
149 Matcher *CheckType = MatcherPtr.release(); in ContractNodes()
150 Matcher *CheckOpcode = CheckType->takeNext(); in ContractNodes()
151 Matcher *Tail = CheckOpcode->takeNext(); in ContractNodes()
164 static Matcher *FindNodeWithKind(Matcher *M, Matcher::KindTy Kind) { in FindNodeWithKind()
184 static void FactorNodes(std::unique_ptr<Matcher> &InputMatcherPtr) { in FactorNodes()
187 std::unique_ptr<Matcher> *RebindableMatcherPtr = &InputMatcherPtr; in FactorNodes()
190 Matcher *N = RebindableMatcherPtr->get(); in FactorNodes()
198 std::unique_ptr<Matcher> &MatcherPtr = *RebindableMatcherPtr; in FactorNodes()
202 SmallVector<Matcher*, 32> OptionsToMatch; in FactorNodes()
206 std::unique_ptr<Matcher> Child(Scope->takeChild(i)); in FactorNodes()
220 SmallVector<Matcher*, 32> NewOptionsToMatch; in FactorNodes()
226 Matcher *Optn = OptionsToMatch[OptionIdx++]; in FactorNodes()
237 SmallVector<Matcher*, 8> EqualMatchers; in FactorNodes()
254 Matcher *ScanMatcher = OptionsToMatch[Scan]; in FactorNodes()
278 Matcher *M2 = FindNodeWithKind(ScanMatcher, Optn->getKind()); in FactorNodes()
282 Matcher *MatcherWithoutM2 = ScanMatcher->unlinkNode(M2); in FactorNodes()
313 Matcher *Shared = Optn; in FactorNodes()
319 Matcher *Tmp = EqualMatchers[i]->takeNext(); in FactorNodes()
367 Matcher::CheckType)); in FactorNodes()
391 SmallVector<std::pair<const SDNodeInfo*, Matcher*>, 8> Cases; in FactorNodes()
407 SmallVector<std::pair<MVT::SimpleValueType, Matcher*>, 8> Cases; in FactorNodes()
411 Matcher::CheckType)); in FactorNodes()
412 Matcher *MatcherWithoutCTM = NewOptionsToMatch[i]->unlinkNode(CTM); in FactorNodes()
419 Matcher *PrevMatcher = Cases[Entry-1].second; in FactorNodes()
426 Matcher *Entries[2] = { PrevMatcher, MatcherWithoutCTM }; in FactorNodes()
438 std::unique_ptr<Matcher> Scope(SM); in FactorNodes()
463 llvm::OptimizeMatcher(std::unique_ptr<Matcher> &MatcherPtr, in OptimizeMatcher()