Lines Matching refs:PredicateMatcher

658 class PredicateMatcher;
668 virtual const PredicateMatcher &getFirstCondition() const = 0;
669 virtual std::unique_ptr<PredicateMatcher> popFirstCondition() = 0;
683 SmallVector<std::unique_ptr<PredicateMatcher>, 1> Conditions;
732 std::unique_ptr<PredicateMatcher> popFirstCondition() override { in popFirstCondition()
735 std::unique_ptr<PredicateMatcher> P = std::move(Conditions.front()); in popFirstCondition()
739 const PredicateMatcher &getFirstCondition() const override { in getFirstCondition()
749 bool candidateConditionMatches(const PredicateMatcher &Predicate) const;
762 std::unique_ptr<PredicateMatcher> Condition = nullptr;
784 std::unique_ptr<PredicateMatcher> popFirstCondition() override { in popFirstCondition()
790 const PredicateMatcher &getFirstCondition() const override { in getFirstCondition()
797 static bool isSupportedPredicateType(const PredicateMatcher &Predicate);
799 bool candidateConditionMatches(const PredicateMatcher &Predicate) const;
802 static void emitPredicateSpecificOpcodes(const PredicateMatcher &P,
853 std::vector<std::unique_ptr<PredicateMatcher>> EpilogueMatchers;
979 std::unique_ptr<PredicateMatcher> popFirstCondition() override;
980 const PredicateMatcher &getFirstCondition() const override;
1089 class PredicateMatcher { class
1133 PredicateMatcher(PredicateKind Kind, unsigned InsnVarID, unsigned OpIdx = ~0) in PredicateMatcher() function in __anon0a286f430111::PredicateMatcher
1139 virtual ~PredicateMatcher() = default;
1153 virtual bool isIdentical(const PredicateMatcher &B) const { in isIdentical()
1158 virtual bool isIdenticalDownToValue(const PredicateMatcher &B) const { in isIdenticalDownToValue()
1159 return hasValue() && PredicateMatcher::isIdentical(B); in isIdenticalDownToValue()
1179 class OperandPredicateMatcher : public PredicateMatcher {
1183 : PredicateMatcher(Kind, InsnVarID, OpIdx) {} in OperandPredicateMatcher()
1208 static bool classof(const PredicateMatcher *P) { in classof()
1215 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1242 static bool classof(const PredicateMatcher *P) { in classof()
1245 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1294 static bool classof(const PredicateMatcher *P) { in classof()
1298 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1327 static bool classof(const PredicateMatcher *P) { in classof()
1331 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1356 bool isIdentical(const PredicateMatcher &B) const override { return false; } in isIdentical()
1364 static bool classof(const PredicateMatcher *P) { in classof()
1394 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1399 static bool classof(const PredicateMatcher *P) { in classof()
1420 static bool classof(const PredicateMatcher *P) { in classof()
1437 static bool classof(const PredicateMatcher *P) { in classof()
1459 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1464 static bool classof(const PredicateMatcher *P) { in classof()
1488 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1493 static bool classof(const PredicateMatcher *P) { in classof()
1516 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1521 static bool classof(const PredicateMatcher *P) { in classof()
1546 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1551 static bool classof(const PredicateMatcher *P) { in classof()
1709 class InstructionPredicateMatcher : public PredicateMatcher {
1712 : PredicateMatcher(Kind, InsnVarID) {} in InstructionPredicateMatcher()
1726 PredicateListMatcher<PredicateMatcher>::getNoPredicateComment() const { in getNoPredicateComment()
1767 static bool classof(const PredicateMatcher *P) { in classof()
1771 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1860 static bool classof(const PredicateMatcher *P) { in classof()
1864 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1914 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1921 static bool classof(const PredicateMatcher *P) { in classof()
1955 static bool classof(const PredicateMatcher *P) { in classof()
1959 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1993 static bool classof(const PredicateMatcher *P) { in classof()
1996 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2023 static bool classof(const PredicateMatcher *P) { in classof()
2026 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2061 static bool classof(const PredicateMatcher *P) { in classof()
2065 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2104 static bool classof(const PredicateMatcher *P) { in classof()
2107 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2143 static bool classof(const PredicateMatcher *P) { in classof()
2147 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2178 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2200 class InstructionMatcher final : public PredicateListMatcher<PredicateMatcher> {
2303 [](const PredicateMatcher &P) { in emitPredicateOpcodes()
2314 [](const PredicateMatcher &P) { in emitPredicateOpcodes()
2354 const std::unique_ptr<PredicateMatcher> &Predicate) { in countRendererFns()
2416 static bool classof(const PredicateMatcher *P) { in classof()
2454 SmallVector<std::unique_ptr<PredicateMatcher>, 8> Stash; in optimize()
5896 llvm::sort(EpilogueMatchers, [](const std::unique_ptr<PredicateMatcher> &L, in optimize()
5897 const std::unique_ptr<PredicateMatcher> &R) { in optimize()
5916 const PredicateMatcher &RuleMatcher::getFirstCondition() const { in getFirstCondition()
5934 std::unique_ptr<PredicateMatcher> RuleMatcher::popFirstCondition() { in popFirstCondition()
5946 std::unique_ptr<PredicateMatcher> Result = std::move(OP); in popFirstCondition()
5956 const PredicateMatcher &Predicate) const { in candidateConditionMatches()
5980 const PredicateMatcher &Predicate = Candidate.getFirstCondition(); in addMatcher()
6031 bool SwitchMatcher::isSupportedPredicateType(const PredicateMatcher &P) { in isSupportedPredicateType()
6036 const PredicateMatcher &Predicate) const { in candidateConditionMatches()
6073 const PredicateMatcher &Predicate = Candidate.getFirstCondition(); in addMatcher()
6099 void SwitchMatcher::emitPredicateSpecificOpcodes(const PredicateMatcher &P, in emitPredicateSpecificOpcodes()