Lines Matching refs:Rule
639 for (Matcher *Rule : Rules) in buildTable()
640 Rule->emit(Table); in buildTable()
1053 RuleMatcher &Rule) const = 0;
1117 RuleMatcher &Rule) const override;
1168 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1203 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1234 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1269 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1290 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1317 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1346 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1374 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1435 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes() argument
1447 emitPredicateListOpcodes(Table, Rule); in emitPredicateOpcodes()
1582 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1641 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1697 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1738 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1774 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1816 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1850 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
1869 RuleMatcher &Rule; member in __anon7e76e5f80111::InstructionMatcher
1880 InstructionMatcher(RuleMatcher &Rule, StringRef SymbolicName) in InstructionMatcher() argument
1881 : Rule(Rule), SymbolicName(SymbolicName) { in InstructionMatcher()
1884 InsnVarID = Rule.implicitlyDefineInsnVar(*this); in InstructionMatcher()
1895 RuleMatcher &getRuleMatcher() const { return Rule; } in getRuleMatcher()
1905 Rule.defineOperand(SymbolicName, *Operands.back()); in addOperand()
1940 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes() argument
1943 .emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
1945 emitPredicateListOpcodes(Table, Rule); in emitPredicateOpcodes()
1948 Operand->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2043 RuleMatcher &Rule, StringRef SymbolicName) in InstructionOperandMatcher() argument
2045 InsnMatcher(new InstructionMatcher(Rule, SymbolicName)) {} in InstructionOperandMatcher()
2053 void emitCaptureOpcodes(MatchTable &Table, RuleMatcher &Rule) const { in emitCaptureOpcodes()
2065 RuleMatcher &Rule) const override { in emitPredicateOpcodes()
2066 emitCaptureOpcodes(Table, Rule); in emitPredicateOpcodes()
2067 InsnMatcher->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2146 RuleMatcher &Rule) const = 0;
2170 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2171 const OperandMatcher &Operand = Rule.getOperandMatcher(SymbolicName); in emitRenderOpcodes()
2172 unsigned OldInsnVarID = Rule.getInsnVarID(Operand.getInstructionMatcher()); in emitRenderOpcodes()
2205 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2206 const OperandMatcher &Operand = Rule.getOperandMatcher(SymbolicName); in emitRenderOpcodes()
2207 unsigned OldInsnVarID = Rule.getInsnVarID(Operand.getInstructionMatcher()); in emitRenderOpcodes()
2242 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2243 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes()
2244 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2273 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2274 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes()
2275 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2307 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2308 const OperandMatcher &Operand = Rule.getOperandMatcher(SymbolicName); in emitRenderOpcodes()
2309 unsigned OldInsnVarID = Rule.getInsnVarID(Operand.getInstructionMatcher()); in emitRenderOpcodes()
2337 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2367 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2394 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2432 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2462 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2463 InstructionMatcher &InsnMatcher = Rule.getInstructionMatcher(SymbolicName); in emitRenderOpcodes()
2464 unsigned OldInsnVarID = Rule.getInsnVarID(InsnMatcher); in emitRenderOpcodes()
2487 RuleMatcher &Rule) const = 0;
2498 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
2513 bool canMutate(RuleMatcher &Rule, const InstructionMatcher *Insn) const { in canMutate() argument
2522 const OperandMatcher &OM = Rule.getOperandMatcher(Copy->getSymbolicName()); in canMutate()
2540 void chooseInsnToMutate(RuleMatcher &Rule) { in chooseInsnToMutate() argument
2541 for (auto *MutateCandidate : Rule.mutatable_insns()) { in chooseInsnToMutate()
2542 if (canMutate(Rule, MutateCandidate)) { in chooseInsnToMutate()
2544 Rule.reserveInsnMatcherForMutation(MutateCandidate); in chooseInsnToMutate()
2558 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
2560 assert(canMutate(Rule, Matched) && in emitActionOpcodes()
2563 unsigned RecycleInsnID = Rule.getInsnVarID(*Matched); in emitActionOpcodes()
2603 Renderer->emitRenderOpcodes(Table, Rule); in emitActionOpcodes()
2617 for (const auto &IDMatcherPair : Rule.defined_insn_vars()) in emitActionOpcodes()
2644 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
2663 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
2683 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
2939 RuleMatcher &Rule) const { in emitPredicateOpcodes()
2940 const OperandMatcher &OtherOM = Rule.getOperandMatcher(MatchingName); in emitPredicateOpcodes()
2941 unsigned OtherInsnVarID = Rule.getInsnVarID(OtherOM.getInstructionMatcher()); in emitPredicateOpcodes()
3003 createAndImportSelDAGMatcher(RuleMatcher &Rule,
3008 Error importChildMatcher(RuleMatcher &Rule, InstructionMatcher &InsnMatcher,
3028 importExplicitUseRenderer(action_iterator InsertPt, RuleMatcher &Rule,
3155 RuleMatcher &Rule, InstructionMatcher &InsnMatcher, in createAndImportSelDAGMatcher() argument
3359 importChildMatcher(Rule, InsnMatcher, SrcChild, OperandIsAPointer, in createAndImportSelDAGMatcher()
3380 Error GlobalISelEmitter::importChildMatcher(RuleMatcher &Rule, in importChildMatcher() argument
3426 Rule.defineComplexSubOperand(SubOperand->getName(), in importChildMatcher()
3445 Rule, InsnOperand.getInsnMatcher(), SrcChild, TempOpIdx); in importChildMatcher()
3497 action_iterator InsertPt, RuleMatcher &Rule, BuildMIAction &DstMIBuilder, in importExplicitUseRenderer() argument
3500 const auto &SubOperand = Rule.getComplexSubOperand(DstChild->getName()); in importExplicitUseRenderer()
3556 unsigned TempRegID = Rule.allocateTempRegID(); in importExplicitUseRenderer()
3557 InsertPt = Rule.insertAction<MakeTempRegisterAction>( in importExplicitUseRenderer()
3562 ++InsertPt, Rule, DstChild, TempRegID); in importExplicitUseRenderer()
3618 const OperandMatcher &OM = Rule.getOperandMatcher(DstChild->getName()); in importExplicitUseRenderer()
4141 for (Matcher *Rule : Rules) { in optimizeRules()
4143 if (CurrentGroup->addMatcher(*Rule)) in optimizeRules()
4150 if (!CurrentGroup->addMatcher(*Rule)) in optimizeRules()
4153 OptRules.push_back(Rule); in optimizeRules()
4166 for (Matcher &Rule : Rules) in buildMatchTable()
4167 InputRules.push_back(&Rule); in buildMatchTable()
4174 for (RuleMatcher &Rule : Rules) { in buildMatchTable()
4175 const StringRef Opcode = Rule.getOpcode(); in buildMatchTable()
4191 for (Matcher *Rule : InputRules) in buildMatchTable()
4192 Rule->optimize(); in buildMatchTable()
4198 for (Matcher *Rule : OptRules) in buildMatchTable()
4199 Rule->optimize(); in buildMatchTable()
4303 for (const auto &Rule : Rules) in run() local
4304 MaxTemporaries = std::max(MaxTemporaries, Rule.countRendererFns()); in run()
4400 for (auto &Rule : Rules) in run() local
4401 FeatureBitsets.push_back(Rule.getRequiredFeatures()); in run()
4684 for (const auto &Rule : Matchers) in finalize() local
4685 if (!Rule->hasFirstCondition()) in finalize()