Lines Matching refs:PredicateMatcher

673 class PredicateMatcher;
682 virtual const PredicateMatcher &getFirstCondition() const = 0;
683 virtual std::unique_ptr<PredicateMatcher> popFirstCondition() = 0;
697 SmallVector<std::unique_ptr<PredicateMatcher>, 1> Conditions;
746 std::unique_ptr<PredicateMatcher> popFirstCondition() override { in popFirstCondition()
749 std::unique_ptr<PredicateMatcher> P = std::move(Conditions.front()); in popFirstCondition()
753 const PredicateMatcher &getFirstCondition() const override { in getFirstCondition()
763 bool candidateConditionMatches(const PredicateMatcher &Predicate) const;
776 std::unique_ptr<PredicateMatcher> Condition = nullptr;
798 std::unique_ptr<PredicateMatcher> popFirstCondition() override { in popFirstCondition()
804 const PredicateMatcher &getFirstCondition() const override { in getFirstCondition()
811 static bool isSupportedPredicateType(const PredicateMatcher &Predicate);
813 bool candidateConditionMatches(const PredicateMatcher &Predicate) const;
816 static void emitPredicateSpecificOpcodes(const PredicateMatcher &P,
867 std::vector<std::unique_ptr<PredicateMatcher>> EpilogueMatchers;
992 std::unique_ptr<PredicateMatcher> popFirstCondition() override;
993 const PredicateMatcher &getFirstCondition() const override;
1102 class PredicateMatcher { class
1147 PredicateMatcher(PredicateKind Kind, unsigned InsnVarID, unsigned OpIdx = ~0) in PredicateMatcher() function in __anoncee47b830111::PredicateMatcher
1153 virtual ~PredicateMatcher() = default;
1167 virtual bool isIdentical(const PredicateMatcher &B) const { in isIdentical()
1172 virtual bool isIdenticalDownToValue(const PredicateMatcher &B) const { in isIdenticalDownToValue()
1173 return hasValue() && PredicateMatcher::isIdentical(B); in isIdenticalDownToValue()
1193 class OperandPredicateMatcher : public PredicateMatcher {
1197 : PredicateMatcher(Kind, InsnVarID, OpIdx) {} in OperandPredicateMatcher()
1224 static bool classof(const PredicateMatcher *P) { in classof()
1231 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1259 static bool classof(const PredicateMatcher *P) { in classof()
1262 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1311 static bool classof(const PredicateMatcher *P) { in classof()
1315 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1344 static bool classof(const PredicateMatcher *P) { in classof()
1348 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1373 bool isIdentical(const PredicateMatcher &B) const override { return false; } in isIdentical()
1381 static bool classof(const PredicateMatcher *P) { in classof()
1411 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1416 static bool classof(const PredicateMatcher *P) { in classof()
1437 static bool classof(const PredicateMatcher *P) { in classof()
1454 static bool classof(const PredicateMatcher *P) { in classof()
1476 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1481 static bool classof(const PredicateMatcher *P) { in classof()
1505 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1510 static bool classof(const PredicateMatcher *P) { in classof()
1533 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1538 static bool classof(const PredicateMatcher *P) { in classof()
1563 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1568 static bool classof(const PredicateMatcher *P) { in classof()
1594 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1601 static bool classof(const PredicateMatcher *P) { in classof()
1760 class InstructionPredicateMatcher : public PredicateMatcher {
1763 : PredicateMatcher(Kind, InsnVarID) {} in InstructionPredicateMatcher()
1777 PredicateListMatcher<PredicateMatcher>::getNoPredicateComment() const { in getNoPredicateComment()
1818 static bool classof(const PredicateMatcher *P) { in classof()
1822 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1911 static bool classof(const PredicateMatcher *P) { in classof()
1915 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1965 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1972 static bool classof(const PredicateMatcher *P) { in classof()
2006 static bool classof(const PredicateMatcher *P) { in classof()
2010 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2044 static bool classof(const PredicateMatcher *P) { in classof()
2047 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2074 static bool classof(const PredicateMatcher *P) { in classof()
2077 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2112 static bool classof(const PredicateMatcher *P) { in classof()
2116 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2155 static bool classof(const PredicateMatcher *P) { in classof()
2158 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2194 static bool classof(const PredicateMatcher *P) { in classof()
2198 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2229 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2252 static bool classof(const PredicateMatcher *P) { in classof()
2256 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
2274 class InstructionMatcher final : public PredicateListMatcher<PredicateMatcher> {
2377 [](const PredicateMatcher &P) { in emitPredicateOpcodes()
2388 [](const PredicateMatcher &P) { in emitPredicateOpcodes()
2428 const std::unique_ptr<PredicateMatcher> &Predicate) { in countRendererFns()
2490 static bool classof(const PredicateMatcher *P) { in classof()
2528 SmallVector<std::unique_ptr<PredicateMatcher>, 8> Stash; in optimize()
6030 llvm::sort(EpilogueMatchers, [](const std::unique_ptr<PredicateMatcher> &L, in optimize()
6031 const std::unique_ptr<PredicateMatcher> &R) { in optimize()
6050 const PredicateMatcher &RuleMatcher::getFirstCondition() const { in getFirstCondition()
6068 std::unique_ptr<PredicateMatcher> RuleMatcher::popFirstCondition() { in popFirstCondition()
6080 std::unique_ptr<PredicateMatcher> Result = std::move(OP); in popFirstCondition()
6090 const PredicateMatcher &Predicate) const { in candidateConditionMatches()
6114 const PredicateMatcher &Predicate = Candidate.getFirstCondition(); in addMatcher()
6165 bool SwitchMatcher::isSupportedPredicateType(const PredicateMatcher &P) { in isSupportedPredicateType()
6170 const PredicateMatcher &Predicate) const { in candidateConditionMatches()
6207 const PredicateMatcher &Predicate = Candidate.getFirstCondition(); in addMatcher()
6232 void SwitchMatcher::emitPredicateSpecificOpcodes(const PredicateMatcher &P, in emitPredicateSpecificOpcodes()