Lines Matching refs:Rule

687   for (Matcher *Rule : Rules)  in buildTable()
688 Rule->emit(Table); in buildTable()
1155 RuleMatcher &Rule) const = 0;
1226 RuleMatcher &Rule) const override;
1277 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1317 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1351 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1382 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1417 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1438 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1455 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1482 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1511 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1539 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1569 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1602 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1664 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes() argument
1676 emitPredicateListOpcodes(Table, Rule); in emitPredicateOpcodes()
1841 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1917 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1973 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2014 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2050 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2081 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2120 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2162 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2200 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2232 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2251 RuleMatcher &Rule; member in __anon612774070111::InstructionMatcher
2267 InstructionMatcher(RuleMatcher &Rule, StringRef SymbolicName, in InstructionMatcher() argument
2269 : Rule(Rule), NumOperandsCheck(NumOpsCheck), SymbolicName(SymbolicName) { in InstructionMatcher()
2272 InsnVarID = Rule.implicitlyDefineInsnVar(*this); in InstructionMatcher()
2283 RuleMatcher &getRuleMatcher() const { return Rule; } in getRuleMatcher()
2293 Rule.defineOperand(SymbolicName, *Operands.back()); in addOperand()
2313 Rule.definePhysRegOperand(Reg, *OM); in addPhysRegInput()
2342 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes() argument
2345 .emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2352 }, Table, Rule); in emitPredicateOpcodes()
2356 Operand->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2363 }, Table, Rule); in emitPredicateOpcodes()
2458 RuleMatcher &Rule, StringRef SymbolicName, in InstructionOperandMatcher() argument
2461 InsnMatcher(new InstructionMatcher(Rule, SymbolicName, NumOpsCheck)) {} in InstructionOperandMatcher()
2469 void emitCaptureOpcodes(MatchTable &Table, RuleMatcher &Rule) const { in emitCaptureOpcodes()
2481 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2482 emitCaptureOpcodes(Table, Rule); in emitPredicateOpcodes()
2483 InsnMatcher->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2565 RuleMatcher &Rule) const = 0;
2589 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2590 const OperandMatcher &Operand = Rule.getOperandMatcher(SymbolicName); in emitRenderOpcodes()
2591 unsigned OldInsnVarID = Rule.getInsnVarID(Operand.getInstructionMatcher()); in emitRenderOpcodes()
2620 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2621 const OperandMatcher &Operand = Rule.getPhysRegOperandMatcher(PhysReg); in emitRenderOpcodes()
2622 unsigned OldInsnVarID = Rule.getInsnVarID(Operand.getInstructionMatcher()); in emitRenderOpcodes()
2656 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2657 const OperandMatcher &Operand = Rule.getOperandMatcher(SymbolicName); in emitRenderOpcodes()
2658 unsigned OldInsnVarID = Rule.getInsnVarID(Operand.getInstructionMatcher()); in emitRenderOpcodes()
2693 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2694 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes()
2695 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2724 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2725 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes()
2726 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2758 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2759 const OperandMatcher &Operand = Rule.getOperandMatcher(SymbolicName); in emitRenderOpcodes()
2760 unsigned OldInsnVarID = Rule.getInsnVarID(Operand.getInstructionMatcher()); in emitRenderOpcodes()
2791 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2838 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2878 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2899 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2938 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2968 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2969 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes()
2970 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2999 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
3000 const OperandMatcher &OpdMatcher = Rule.getOperandMatcher(SymbolicName); in emitRenderOpcodes()
3025 RuleMatcher &Rule) const = 0;
3036 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3051 bool canMutate(RuleMatcher &Rule, const InstructionMatcher *Insn) const { in canMutate() argument
3060 const OperandMatcher &OM = Rule.getOperandMatcher(Copy->getSymbolicName()); in canMutate()
3078 void chooseInsnToMutate(RuleMatcher &Rule) { in chooseInsnToMutate() argument
3079 for (auto *MutateCandidate : Rule.mutatable_insns()) { in chooseInsnToMutate()
3080 if (canMutate(Rule, MutateCandidate)) { in chooseInsnToMutate()
3082 Rule.reserveInsnMatcherForMutation(MutateCandidate); in chooseInsnToMutate()
3096 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3098 assert(canMutate(Rule, Matched) && in emitActionOpcodes()
3101 unsigned RecycleInsnID = Rule.getInsnVarID(*Matched); in emitActionOpcodes()
3141 Renderer->emitRenderOpcodes(Table, Rule); in emitActionOpcodes()
3155 for (const auto &IDMatcherPair : Rule.defined_insn_vars()) in emitActionOpcodes()
3182 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3201 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3223 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3498 RuleMatcher &Rule) const { in emitPredicateOpcodes()
3499 const OperandMatcher &OtherOM = Rule.getOperandMatcher(MatchingName); in emitPredicateOpcodes()
3500 unsigned OtherInsnVarID = Rule.getInsnVarID(OtherOM.getInstructionMatcher()); in emitPredicateOpcodes()
3588 createAndImportSelDAGMatcher(RuleMatcher &Rule,
3593 Error importChildMatcher(RuleMatcher &Rule, InstructionMatcher &InsnMatcher,
3618 importExplicitUseRenderer(action_iterator InsertPt, RuleMatcher &Rule,
3945 RuleMatcher &Rule, InstructionMatcher &InsnMatcher, in createAndImportSelDAGMatcher() argument
4087 if (auto Error = importChildMatcher(Rule, InsnMatcher, PtrChild, true, in createAndImportSelDAGMatcher()
4091 if (auto Error = importChildMatcher(Rule, InsnMatcher, ValueChild, false, in createAndImportSelDAGMatcher()
4142 importChildMatcher(Rule, InsnMatcher, SrcChild, OperandIsAPointer, in createAndImportSelDAGMatcher()
4182 RuleMatcher &Rule, InstructionMatcher &InsnMatcher, in importChildMatcher() argument
4260 if (auto Error = Rule.defineComplexSubOperand( in importChildMatcher()
4282 Rule, InsnOperand.getInsnMatcher(), SrcChild, TempOpIdx); in importChildMatcher()
4399 action_iterator InsertPt, RuleMatcher &Rule, BuildMIAction &DstMIBuilder, in importExplicitUseRenderer() argument
4402 const auto &SubOperand = Rule.getComplexSubOperand(DstChild->getName()); in importExplicitUseRenderer()
4464 unsigned TempRegID = Rule.allocateTempRegID(); in importExplicitUseRenderer()
4465 InsertPt = Rule.insertAction<MakeTempRegisterAction>( in importExplicitUseRenderer()
4470 ++InsertPt, Rule, DstChild, TempRegID); in importExplicitUseRenderer()
4532 const OperandMatcher &OM = Rule.getOperandMatcher(DstChild->getName()); in importExplicitUseRenderer()
5519 for (Matcher *Rule : Rules) { in optimizeRules()
5521 if (CurrentGroup->addMatcher(*Rule)) in optimizeRules()
5528 if (!CurrentGroup->addMatcher(*Rule)) in optimizeRules()
5531 OptRules.push_back(Rule); in optimizeRules()
5544 for (Matcher &Rule : Rules) in buildMatchTable()
5545 InputRules.push_back(&Rule); in buildMatchTable()
5552 for (RuleMatcher &Rule : Rules) { in buildMatchTable()
5553 const StringRef Opcode = Rule.getOpcode(); in buildMatchTable()
5567 for (Matcher *Rule : InputRules) in buildMatchTable()
5568 Rule->optimize(); in buildMatchTable()
5574 for (Matcher *Rule : OptRules) in buildMatchTable()
5575 Rule->optimize(); in buildMatchTable()
5687 for (const auto &Rule : Rules) in run() local
5688 MaxTemporaries = std::max(MaxTemporaries, Rule.countRendererFns()); in run()
5792 for (auto &Rule : Rules) in run() local
5793 FeatureBitsets.push_back(Rule.getRequiredFeatures()); in run()
6070 for (const auto &Rule : Matchers) in finalize() local
6071 if (!Rule->hasFirstCondition()) in finalize()