Lines Matching refs:Matcher

94 std::vector<Matcher *>
95 optimizeRules(ArrayRef<Matcher *> Rules, in optimizeRules()
96 std::vector<std::unique_ptr<Matcher>> &MatcherStorage) { in optimizeRules()
98 std::vector<Matcher *> OptRules; in optimizeRules()
121 for (Matcher *Rule : Rules) { in optimizeRules()
143 template std::vector<Matcher *> optimizeRules<GroupMatcher>(
144 ArrayRef<Matcher *> Rules,
145 std::vector<std::unique_ptr<Matcher>> &MatcherStorage);
147 template std::vector<Matcher *> optimizeRules<SwitchMatcher>(
148 ArrayRef<Matcher *> Rules,
149 std::vector<std::unique_ptr<Matcher>> &MatcherStorage);
331 MatchTable MatchTable::buildTable(ArrayRef<Matcher *> Rules, bool WithCoverage, in buildTable()
334 for (Matcher *Rule : Rules) in buildTable()
444 void Matcher::optimize() {} in optimize()
446 Matcher::~Matcher() {} in ~Matcher()
464 const Matcher &Representative = **Matchers.begin(); in candidateConditionMatches()
471 bool GroupMatcher::addMatcher(Matcher &Candidate) { in addMatcher()
488 Matcher &FirstRule = **Matchers.begin(); in finalize()
539 std::stable_sort(F, T, [](Matcher *A, Matcher *B) { in optimize()
580 const Matcher &CaseRepresentative = **Matchers.begin(); in candidateConditionMatches()
592 bool SwitchMatcher::addMatcher(Matcher &Candidate) { in addMatcher()
612 llvm::stable_sort(Matchers, [](const Matcher *L, const Matcher *R) { in finalize()
754 InstructionMatcher &Matcher = insnmatchers_front(); in hasFirstCondition() local
755 if (!Matcher.predicates_empty()) in hasFirstCondition()
757 for (auto &OM : Matcher.operands()) in hasFirstCondition()
768 InstructionMatcher &Matcher = insnmatchers_front(); in getFirstCondition() local
769 if (!Matcher.predicates_empty()) in getFirstCondition()
770 return **Matcher.predicates_begin(); in getFirstCondition()
773 for (auto &OM : Matcher.operands()) in getFirstCondition()
786 InstructionMatcher &Matcher = insnmatchers_front(); in popFirstCondition() local
787 if (!Matcher.predicates_empty()) in popFirstCondition()
788 return Matcher.predicates_pop_front(); in popFirstCondition()
791 for (auto &OM : Matcher.operands()) in popFirstCondition()
876 unsigned RuleMatcher::implicitlyDefineInsnVar(InstructionMatcher &Matcher) { in implicitlyDefineInsnVar() argument
878 InsnVariableIDs[&Matcher] = NewInsnVarID; in implicitlyDefineInsnVar()
1088 for (auto Matcher : zip(Matchers, B.Matchers)) { in isHigherPriorityThan() local
1089 if (std::get<0>(Matcher)->isHigherPriorityThan(*std::get<1>(Matcher))) in isHigherPriorityThan()
1091 if (std::get<1>(Matcher)->isHigherPriorityThan(*std::get<0>(Matcher))) in isHigherPriorityThan()
1101 [](unsigned A, const std::unique_ptr<InstructionMatcher> &Matcher) { in countRendererFns() argument
1102 return A + Matcher->countRendererFns(); in countRendererFns()