Lines Matching refs:PredicateMatcher
622 class PredicateMatcher;
632 virtual const PredicateMatcher &getFirstCondition() const = 0;
633 virtual std::unique_ptr<PredicateMatcher> popFirstCondition() = 0;
647 SmallVector<std::unique_ptr<PredicateMatcher>, 1> Conditions;
696 std::unique_ptr<PredicateMatcher> popFirstCondition() override { in popFirstCondition()
699 std::unique_ptr<PredicateMatcher> P = std::move(Conditions.front()); in popFirstCondition()
703 const PredicateMatcher &getFirstCondition() const override { in getFirstCondition()
713 bool candidateConditionMatches(const PredicateMatcher &Predicate) const;
726 std::unique_ptr<PredicateMatcher> Condition = nullptr;
748 std::unique_ptr<PredicateMatcher> popFirstCondition() override { in popFirstCondition()
754 const PredicateMatcher &getFirstCondition() const override { in getFirstCondition()
761 static bool isSupportedPredicateType(const PredicateMatcher &Predicate);
763 bool candidateConditionMatches(const PredicateMatcher &Predicate) const;
766 static void emitPredicateSpecificOpcodes(const PredicateMatcher &P,
813 std::vector<std::unique_ptr<PredicateMatcher>> EpilogueMatchers;
914 std::unique_ptr<PredicateMatcher> popFirstCondition() override;
915 const PredicateMatcher &getFirstCondition() const override;
1006 class PredicateMatcher { class
1044 PredicateMatcher(PredicateKind Kind, unsigned InsnVarID, unsigned OpIdx = ~0) in PredicateMatcher() function in __anon7e76e5f80111::PredicateMatcher
1050 virtual ~PredicateMatcher() = default;
1057 virtual bool isIdentical(const PredicateMatcher &B) const { in isIdentical()
1062 virtual bool isIdenticalDownToValue(const PredicateMatcher &B) const { in isIdenticalDownToValue()
1063 return hasValue() && PredicateMatcher::isIdentical(B); in isIdenticalDownToValue()
1083 class OperandPredicateMatcher : public PredicateMatcher {
1087 : PredicateMatcher(Kind, InsnVarID, OpIdx) {} in OperandPredicateMatcher()
1112 static bool classof(const PredicateMatcher *P) { in classof()
1119 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1146 static bool classof(const PredicateMatcher *P) { in classof()
1149 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1221 bool isIdentical(const PredicateMatcher &B) const override { return false; } in isIdentical()
1229 static bool classof(const PredicateMatcher *P) { in classof()
1259 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1264 static bool classof(const PredicateMatcher *P) { in classof()
1285 static bool classof(const PredicateMatcher *P) { in classof()
1307 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1312 static bool classof(const PredicateMatcher *P) { in classof()
1336 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1341 static bool classof(const PredicateMatcher *P) { in classof()
1364 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1369 static bool classof(const PredicateMatcher *P) { in classof()
1524 class InstructionPredicateMatcher : public PredicateMatcher {
1527 : PredicateMatcher(Kind, InsnVarID) {} in InstructionPredicateMatcher()
1541 PredicateListMatcher<PredicateMatcher>::getNoPredicateComment() const { in getNoPredicateComment()
1564 static bool classof(const PredicateMatcher *P) { in classof()
1568 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1631 static bool classof(const PredicateMatcher *P) { in classof()
1635 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1685 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1692 static bool classof(const PredicateMatcher *P) { in classof()
1726 static bool classof(const PredicateMatcher *P) { in classof()
1730 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1764 static bool classof(const PredicateMatcher *P) { in classof()
1767 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1805 static bool classof(const PredicateMatcher *P) { in classof()
1808 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1843 bool isIdentical(const PredicateMatcher &B) const override { in isIdentical()
1865 class InstructionMatcher final : public PredicateListMatcher<PredicateMatcher> {
1986 const std::unique_ptr<PredicateMatcher> &Predicate) { in countRendererFns()
2047 static bool classof(const PredicateMatcher *P) { in classof()
2085 SmallVector<std::unique_ptr<PredicateMatcher>, 8> Stash; in optimize()
4584 llvm::sort(EpilogueMatchers, [](const std::unique_ptr<PredicateMatcher> &L, in optimize()
4585 const std::unique_ptr<PredicateMatcher> &R) { in optimize()
4604 const PredicateMatcher &RuleMatcher::getFirstCondition() const { in getFirstCondition()
4622 std::unique_ptr<PredicateMatcher> RuleMatcher::popFirstCondition() { in popFirstCondition()
4634 std::unique_ptr<PredicateMatcher> Result = std::move(OP); in popFirstCondition()
4644 const PredicateMatcher &Predicate) const { in candidateConditionMatches()
4668 const PredicateMatcher &Predicate = Candidate.getFirstCondition(); in addMatcher()
4719 bool SwitchMatcher::isSupportedPredicateType(const PredicateMatcher &P) { in isSupportedPredicateType()
4724 const PredicateMatcher &Predicate) const { in candidateConditionMatches()
4761 const PredicateMatcher &Predicate = Candidate.getFirstCondition(); in addMatcher()
4787 void SwitchMatcher::emitPredicateSpecificOpcodes(const PredicateMatcher &P, in emitPredicateSpecificOpcodes()