Lines Matching refs:Matcher

24 static void ContractNodes(std::unique_ptr<Matcher> &MatcherPtr,  in ContractNodes()
27 Matcher *N = MatcherPtr.get(); in ContractNodes()
33 std::unique_ptr<Matcher> Child(Scope->takeChild(i)); in ContractNodes()
43 Matcher *New = nullptr; in ContractNodes()
152 Matcher *CheckType = MatcherPtr.release(); in ContractNodes()
153 Matcher *CheckOpcode = CheckType->takeNext(); in ContractNodes()
154 Matcher *Tail = CheckOpcode->takeNext(); in ContractNodes()
167 static Matcher *FindNodeWithKind(Matcher *M, Matcher::KindTy Kind) { in FindNodeWithKind()
187 static void FactorNodes(std::unique_ptr<Matcher> &InputMatcherPtr) { in FactorNodes()
190 std::unique_ptr<Matcher> *RebindableMatcherPtr = &InputMatcherPtr; in FactorNodes()
193 Matcher *N = RebindableMatcherPtr->get(); in FactorNodes()
201 std::unique_ptr<Matcher> &MatcherPtr = *RebindableMatcherPtr; in FactorNodes()
205 SmallVector<Matcher*, 32> OptionsToMatch; in FactorNodes()
209 std::unique_ptr<Matcher> Child(Scope->takeChild(i)); in FactorNodes()
223 SmallVector<Matcher*, 32> NewOptionsToMatch; in FactorNodes()
229 Matcher *Optn = OptionsToMatch[OptionIdx++]; in FactorNodes()
240 SmallVector<Matcher*, 8> EqualMatchers; in FactorNodes()
257 Matcher *ScanMatcher = OptionsToMatch[Scan]; in FactorNodes()
281 Matcher *M2 = FindNodeWithKind(ScanMatcher, Optn->getKind()); in FactorNodes()
285 Matcher *MatcherWithoutM2 = ScanMatcher->unlinkNode(M2); in FactorNodes()
316 Matcher *Shared = Optn; in FactorNodes()
322 Matcher *Tmp = EqualMatchers[i]->takeNext(); in FactorNodes()
370 Matcher::CheckType)); in FactorNodes()
394 SmallVector<std::pair<const SDNodeInfo*, Matcher*>, 8> Cases; in FactorNodes()
410 SmallVector<std::pair<MVT::SimpleValueType, Matcher*>, 8> Cases; in FactorNodes()
412 Matcher* M = FindNodeWithKind(NewOptionsToMatch[i], Matcher::CheckType); in FactorNodes()
416 Matcher *MatcherWithoutCTM = NewOptionsToMatch[i]->unlinkNode(CTM); in FactorNodes()
423 Matcher *PrevMatcher = Cases[Entry-1].second; in FactorNodes()
430 Matcher *Entries[2] = { PrevMatcher, MatcherWithoutCTM }; in FactorNodes()
442 std::unique_ptr<Matcher> Scope(SM); in FactorNodes()
467 llvm::OptimizeMatcher(std::unique_ptr<Matcher> &MatcherPtr, in OptimizeMatcher()