Lines Matching defs:MatchTable
48 class MatchTable;
99 /// A record to be stored in a MatchTable.
102 /// MatchTable. Instances are most often configured to represent an opcode or
139 /// The number of MatchTable elements described by this record. Comments are 0
141 /// values that exceed the size of a MatchTable element.
176 const MatchTable &Table) const;
180 /// Holds the contents of a generated MatchTable to enable formatting and the
182 class MatchTable {
184 /// MatchTable${ID}.
193 /// A unique identifier for a MatchTable label.
216 static MatchTable buildTable(ArrayRef<Matcher *> Rules, bool WithCoverage,
219 MatchTable(bool WithCoverage, bool IsCombinerTable, unsigned ID = 0)
249 inline MatchTable &operator<<(MatchTable &Table,
311 inline MatchTable &operator<<(MatchTable &Table,
314 Table << MatchTable::NamedValue(1, Ty.getLLTCodeGen().getCxxEnumValue());
316 Table << MatchTable::IntValue(1, Ty.getTempTypeIdx());
325 virtual void emit(MatchTable &Table) = 0;
372 void emit(MatchTable &Table) override;
427 void emit(MatchTable &Table) override;
456 MatchTable &Table);
678 void emit(MatchTable &Table) override;
764 /// Emit MatchTable opcodes that tests whether all the predicates are met.
766 void emitPredicateListOpcodes(MatchTable &Table, Args &&...args) {
768 Table << MatchTable::Comment(getNoPredicateComment())
769 << MatchTable::LineBreak;
781 /// Emit MatchTable opcodes for predicates which satisfy \p
786 MatchTable &Table, Args &&...args) {
788 Table << MatchTable::Comment(getNoPredicateComment())
789 << MatchTable::LineBreak;
855 /// Emit MatchTable opcodes that check the predicate for the given operand.
856 virtual void emitPredicateOpcodes(MatchTable &Table,
931 void emitPredicateOpcodes(MatchTable &Table,
976 void emitPredicateOpcodes(MatchTable &Table,
1009 void emitPredicateOpcodes(MatchTable &Table,
1037 void emitPredicateOpcodes(MatchTable &Table,
1061 void emitPredicateOpcodes(MatchTable &Table,
1086 void emitPredicateOpcodes(MatchTable &Table,
1107 void emitPredicateOpcodes(MatchTable &Table,
1121 void emitPredicateOpcodes(MatchTable &Table,
1134 void emitPredicateOpcodes(MatchTable &Table,
1157 void emitPredicateOpcodes(MatchTable &Table,
1181 void emitPredicateOpcodes(MatchTable &Table,
1204 void emitPredicateOpcodes(MatchTable &Table,
1227 void emitPredicateOpcodes(MatchTable &Table,
1254 void emitPredicateOpcodes(MatchTable &Table,
1319 /// Emit MatchTable opcodes that test whether the instruction named in
1321 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule);
1410 void emitPredicateOpcodes(MatchTable &Table,
1453 void emitPredicateOpcodes(MatchTable &Table,
1500 void emitPredicateOpcodes(MatchTable &Table,
1530 void emitPredicateOpcodes(MatchTable &Table,
1554 void emitPredicateOpcodes(MatchTable &Table,
1575 void emitPredicateOpcodes(MatchTable &Table,
1598 void emitPredicateOpcodes(MatchTable &Table,
1628 void emitPredicateOpcodes(MatchTable &Table,
1653 void emitPredicateOpcodes(MatchTable &Table,
1675 void emitPredicateOpcodes(MatchTable &Table,
1697 void emitPredicateOpcodes(MatchTable &Table,
1716 void emitPredicateOpcodes(MatchTable &Table,
1718 Table << MatchTable::Opcode("GIM_CheckHasNoUse")
1719 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID)
1720 << MatchTable::LineBreak;
1738 void emitPredicateOpcodes(MatchTable &Table,
1740 Table << MatchTable::Opcode("GIM_CheckHasOneUse")
1741 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID)
1742 << MatchTable::LineBreak;
1830 /// Emit MatchTable opcodes that test whether the instruction named in
1832 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule);
1887 void emitCaptureOpcodes(MatchTable &Table, RuleMatcher &Rule) const;
1888 void emitPredicateOpcodes(MatchTable &Table,
1932 virtual void emitRenderOpcodes(MatchTable &Table,
1957 static void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule,
1962 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
1984 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2011 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2034 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2056 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2082 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2106 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2131 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2156 static void emitAddImm(MatchTable &Table, RuleMatcher &RM, unsigned InsnID,
2159 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2176 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2213 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2230 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2250 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2270 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2298 virtual void emitAdditionalPredicates(MatchTable &Table,
2301 /// Emit the MatchTable opcodes to implement the action.
2302 virtual void emitActionOpcodes(MatchTable &Table,
2308 virtual bool emitActionOpcodesAndDone(MatchTable &Table,
2331 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2332 Table << MatchTable::Comment(S) << MatchTable::LineBreak;
2380 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2398 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2414 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2415 bool emitActionOpcodesAndDone(MatchTable &Table,
2438 void emitAdditionalPredicates(MatchTable &Table,
2440 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2456 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override {
2458 Table << MatchTable::Opcode("GIR_RootConstrainSelectedInstOperands")
2459 << MatchTable::LineBreak;
2461 Table << MatchTable::Opcode("GIR_ConstrainSelectedInstOperands")
2462 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID)
2463 << MatchTable::LineBreak;
2485 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;
2506 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override;