Lines Matching refs:RuleMatcher

821 class RuleMatcher : public Matcher {  class
887 RuleMatcher(ArrayRef<SMLoc> SrcLoc) in RuleMatcher() function in __anoncee47b830111::RuleMatcher
890 RuleMatcher(RuleMatcher &&Other) = default;
891 RuleMatcher &operator=(RuleMatcher &&Other) = default;
986 bool isHigherPriorityThan(const RuleMatcher &B) const;
1012 uint64_t RuleMatcher::NextRuleID = 0;
1014 using action_iterator = RuleMatcher::action_iterator;
1156 RuleMatcher &Rule) const = 0;
1229 RuleMatcher &Rule) const override;
1281 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1321 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1355 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1386 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1421 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1442 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1459 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1486 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1515 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1543 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1573 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1606 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1668 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes()
1845 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1921 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1977 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2018 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2054 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2085 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2124 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2166 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2204 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2236 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2261 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2278 RuleMatcher &Rule;
2294 InstructionMatcher(RuleMatcher &Rule, StringRef SymbolicName, in InstructionMatcher()
2310 RuleMatcher &getRuleMatcher() const { return Rule; } in getRuleMatcher()
2369 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes()
2452 StringRef RuleMatcher::getOpcode() const { in getOpcode()
2456 unsigned RuleMatcher::getNumOperands() const { in getNumOperands()
2460 LLTCodeGen RuleMatcher::getFirstConditionAsRootType() { in getFirstConditionAsRootType()
2485 RuleMatcher &Rule, StringRef SymbolicName, in InstructionOperandMatcher()
2496 void emitCaptureOpcodes(MatchTable &Table, RuleMatcher &Rule) const { in emitCaptureOpcodes()
2508 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2592 RuleMatcher &Rule) const = 0;
2616 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2647 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2683 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2720 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2751 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2785 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2818 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2865 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2905 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2926 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2965 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2995 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
3026 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
3052 RuleMatcher &Rule) const = 0;
3063 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3078 bool canMutate(RuleMatcher &Rule, const InstructionMatcher *Insn) const { in canMutate()
3105 void chooseInsnToMutate(RuleMatcher &Rule) { in chooseInsnToMutate()
3123 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3209 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3228 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3250 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3259 InstructionMatcher &RuleMatcher::addInstructionMatcher(StringRef SymbolicName) { in addInstructionMatcher()
3265 void RuleMatcher::addRequiredFeature(Record *Feature) { in addRequiredFeature()
3269 const std::vector<Record *> &RuleMatcher::getRequiredFeatures() const { in getRequiredFeatures()
3281 Kind &RuleMatcher::addAction(Args &&... args) { in addAction()
3294 action_iterator RuleMatcher::insertAction(action_iterator InsertPt, in insertAction()
3300 unsigned RuleMatcher::implicitlyDefineInsnVar(InstructionMatcher &Matcher) { in implicitlyDefineInsnVar()
3306 unsigned RuleMatcher::getInsnVarID(InstructionMatcher &InsnMatcher) const { in getInsnVarID()
3313 void RuleMatcher::defineOperand(StringRef SymbolicName, OperandMatcher &OM) { in defineOperand()
3325 void RuleMatcher::definePhysRegOperand(Record *Reg, OperandMatcher &OM) { in definePhysRegOperand()
3333 RuleMatcher::getInstructionMatcher(StringRef SymbolicName) const { in getInstructionMatcher()
3342 RuleMatcher::getPhysRegOperandMatcher(Record *Reg) const { in getPhysRegOperandMatcher()
3354 RuleMatcher::getOperandMatcher(StringRef Name) const { in getOperandMatcher()
3363 void RuleMatcher::emit(MatchTable &Table) { in emit()
3468 bool RuleMatcher::isHigherPriorityThan(const RuleMatcher &B) const { in isHigherPriorityThan()
3485 unsigned RuleMatcher::countRendererFns() const { in countRendererFns()
3526 RuleMatcher &Rule) const { in emitPredicateOpcodes()
3614 Error importRulePredicates(RuleMatcher &M, ArrayRef<Record *> Predicates);
3616 createAndImportSelDAGMatcher(RuleMatcher &Rule,
3621 Error importChildMatcher(RuleMatcher &Rule, InstructionMatcher &InsnMatcher,
3627 RuleMatcher &M, InstructionMatcher &InsnMatcher,
3630 action_iterator InsertPt, RuleMatcher &M, const TreePatternNode *Dst,
3633 createInstructionRenderer(action_iterator InsertPt, RuleMatcher &M,
3637 importExplicitDefRenderers(action_iterator InsertPt, RuleMatcher &M,
3642 importExplicitUseRenderers(action_iterator InsertPt, RuleMatcher &M,
3646 importExplicitUseRenderer(action_iterator InsertPt, RuleMatcher &Rule,
3649 Error importDefaultOperandRenderers(action_iterator InsertPt, RuleMatcher &M,
3668 Expected<RuleMatcher> runOnPattern(const PatternToMatch &P);
3672 MatchTable buildMatchTable(MutableArrayRef<RuleMatcher> Rules, bool Optimize,
3807 Error GlobalISelEmitter::importRulePredicates(RuleMatcher &M, in importRulePredicates()
3978 RuleMatcher &Rule, InstructionMatcher &InsnMatcher, in createAndImportSelDAGMatcher()
4226 RuleMatcher &Rule, InstructionMatcher &InsnMatcher, in importChildMatcher()
4443 action_iterator InsertPt, RuleMatcher &Rule, BuildMIAction &DstMIBuilder, in importExplicitUseRenderer()
4590 RuleMatcher &M, InstructionMatcher &InsnMatcher, const TreePatternNode *Src, in createAndImportInstructionRenderer()
4624 const action_iterator InsertPt, RuleMatcher &M, const TreePatternNode *Dst, in createAndImportSubInstructionRenderer()
4745 action_iterator InsertPt, RuleMatcher &M, const TreePatternNode *Dst) { in createInstructionRenderer()
4766 action_iterator InsertPt, RuleMatcher &M, BuildMIAction &DstMIBuilder, in importExplicitDefRenderers()
4801 action_iterator InsertPt, RuleMatcher &M, BuildMIAction &DstMIBuilder, in importExplicitUseRenderers()
4968 action_iterator InsertPt, RuleMatcher &M, BuildMIAction &DstMIBuilder, in importDefaultOperandRenderers()
5155 Expected<RuleMatcher> GlobalISelEmitter::runOnPattern(const PatternToMatch &P) { in runOnPattern()
5158 RuleMatcher M(P.getSrcRecord()->getLoc()); in runOnPattern()
5601 GlobalISelEmitter::buildMatchTable(MutableArrayRef<RuleMatcher> Rules, in buildMatchTable()
5612 for (RuleMatcher &Rule : Rules) { in buildMatchTable()
5621 auto *L = static_cast<const RuleMatcher *>(A); in buildMatchTable()
5622 auto *R = static_cast<const RuleMatcher *>(B); in buildMatchTable()
5650 auto *R = static_cast<RuleMatcher *>(*T); in optimize()
5656 auto *L = static_cast<RuleMatcher *>(A); in optimize()
5657 auto *R = static_cast<RuleMatcher *>(B); in optimize()
5695 std::vector<RuleMatcher> Rules; in run()
5942 llvm::stable_sort(Rules, [&](const RuleMatcher &A, const RuleMatcher &B) { in run()
6013 void RuleMatcher::optimize() { in optimize()
6037 bool RuleMatcher::hasFirstCondition() const { in hasFirstCondition()
6050 const PredicateMatcher &RuleMatcher::getFirstCondition() const { in getFirstCondition()
6068 std::unique_ptr<PredicateMatcher> RuleMatcher::popFirstCondition() { in popFirstCondition()
6154 Table, *static_cast<RuleMatcher *>(*Matchers.begin())); in emit()