Lines Matching refs:MatchTable
418 class MatchTable;
494 const MatchTable &Table) const;
502 class MatchTable { class
568 static MatchTable buildTable(ArrayRef<Matcher *> Rules, bool WithCoverage);
570 MatchTable(bool WithCoverage, unsigned ID = 0) in MatchTable() function in __anoncee47b830111::MatchTable
627 MatchTableRecord MatchTable::LineBreak = {
632 const MatchTable &Table) const { in emit()
664 MatchTable &operator<<(MatchTable &Table, const MatchTableRecord &Value) { in operator <<()
679 virtual void emit(MatchTable &Table) = 0;
686 MatchTable MatchTable::buildTable(ArrayRef<Matcher *> Rules, in buildTable()
688 MatchTable Table(WithCoverage); in buildTable()
692 return Table << MatchTable::Opcode("GIM_Reject") << MatchTable::LineBreak; in buildTable()
735 void emit(MatchTable &Table) override;
790 void emit(MatchTable &Table) override;
817 MatchTable &Table);
981 void emit(MatchTable &Table) override;
1068 void emitPredicateListOpcodes(MatchTable &Table, Args &&... args) { in emitPredicateListOpcodes()
1070 Table << MatchTable::Comment(getNoPredicateComment()) in emitPredicateListOpcodes()
1071 << MatchTable::LineBreak; in emitPredicateListOpcodes()
1088 MatchTable &Table, Args &&... args) { in emitFilteredPredicateListOpcodes()
1090 Table << MatchTable::Comment(getNoPredicateComment()) in emitFilteredPredicateListOpcodes()
1091 << MatchTable::LineBreak; in emitFilteredPredicateListOpcodes()
1155 virtual void emitPredicateOpcodes(MatchTable &Table,
1228 void emitPredicateOpcodes(MatchTable &Table,
1269 return MatchTable::NamedValue(getTy().getCxxEnumValue()); in getValue()
1270 return MatchTable::NamedValue(getTy().getCxxEnumValue(), VI->second); in getValue()
1280 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1282 Table << MatchTable::Opcode("GIM_CheckType") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1283 << MatchTable::IntValue(InsnVarID) << MatchTable::Comment("Op") in emitPredicateOpcodes()
1284 << MatchTable::IntValue(OpIdx) << MatchTable::Comment("Type") in emitPredicateOpcodes()
1285 << getValue() << MatchTable::LineBreak; in emitPredicateOpcodes()
1320 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1322 Table << MatchTable::Opcode("GIM_CheckPointerToAny") in emitPredicateOpcodes()
1323 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1324 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1325 << MatchTable::Comment("SizeInBits") in emitPredicateOpcodes()
1326 << MatchTable::IntValue(SizeInBits) << MatchTable::LineBreak; in emitPredicateOpcodes()
1354 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1356 Table << MatchTable::Opcode("GIM_RecordNamedOperand") in emitPredicateOpcodes()
1357 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1358 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1359 << MatchTable::Comment("StoreIdx") << MatchTable::IntValue(StoreIdx) in emitPredicateOpcodes()
1360 << MatchTable::Comment("Name : " + Name) << MatchTable::LineBreak; in emitPredicateOpcodes()
1385 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1388 Table << MatchTable::Opcode("GIM_CheckComplexPattern") in emitPredicateOpcodes()
1389 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1390 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1391 << MatchTable::Comment("Renderer") << MatchTable::IntValue(ID) in emitPredicateOpcodes()
1392 << MatchTable::NamedValue(("GICP_" + TheDef.getName()).str()) in emitPredicateOpcodes()
1393 << MatchTable::LineBreak; in emitPredicateOpcodes()
1420 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1422 Table << MatchTable::Opcode("GIM_CheckRegBankForClass") in emitPredicateOpcodes()
1423 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1424 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1425 << MatchTable::Comment("RC") in emitPredicateOpcodes()
1426 << MatchTable::NamedValue(RC.getQualifiedName() + "RegClassID") in emitPredicateOpcodes()
1427 << MatchTable::LineBreak; in emitPredicateOpcodes()
1441 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1443 Table << MatchTable::Opcode("GIM_CheckIsMBB") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1444 << MatchTable::IntValue(InsnVarID) << MatchTable::Comment("Op") in emitPredicateOpcodes()
1445 << MatchTable::IntValue(OpIdx) << MatchTable::LineBreak; in emitPredicateOpcodes()
1458 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1460 Table << MatchTable::Opcode("GIM_CheckIsImm") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1461 << MatchTable::IntValue(InsnVarID) << MatchTable::Comment("Op") in emitPredicateOpcodes()
1462 << MatchTable::IntValue(OpIdx) << MatchTable::LineBreak; in emitPredicateOpcodes()
1485 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1487 Table << MatchTable::Opcode("GIM_CheckConstantInt") in emitPredicateOpcodes()
1488 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1489 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1490 << MatchTable::IntValue(Value) << MatchTable::LineBreak; in emitPredicateOpcodes()
1514 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1516 Table << MatchTable::Opcode("GIM_CheckLiteralInt") in emitPredicateOpcodes()
1517 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1518 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1519 << MatchTable::IntValue(Value) << MatchTable::LineBreak; in emitPredicateOpcodes()
1542 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1544 Table << MatchTable::Opcode("GIM_CheckCmpPredicate") in emitPredicateOpcodes()
1545 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1546 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1547 << MatchTable::Comment("Predicate") in emitPredicateOpcodes()
1548 << MatchTable::NamedValue("CmpInst", PredName) in emitPredicateOpcodes()
1549 << MatchTable::LineBreak; in emitPredicateOpcodes()
1572 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1574 Table << MatchTable::Opcode("GIM_CheckIntrinsicID") in emitPredicateOpcodes()
1575 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1576 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1577 << MatchTable::NamedValue("Intrinsic::" + II->EnumName) in emitPredicateOpcodes()
1578 << MatchTable::LineBreak; in emitPredicateOpcodes()
1605 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1607 Table << MatchTable::Opcode("GIM_CheckImmOperandPredicate") in emitPredicateOpcodes()
1608 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1609 << MatchTable::Comment("MO") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
1610 << MatchTable::Comment("Predicate") in emitPredicateOpcodes()
1611 << MatchTable::NamedValue(getEnumNameForPredicate(Predicate)) in emitPredicateOpcodes()
1612 << MatchTable::LineBreak; in emitPredicateOpcodes()
1668 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes()
1677 Table << MatchTable::Comment(Comment) << MatchTable::LineBreak; in emitPredicateOpcodes()
1796 return MatchTable::NamedValue(I->Namespace, I->TheDef->getName(), in getInstValue()
1798 return MatchTable::NamedValue(I->Namespace, I->TheDef->getName()); in getInstValue()
1839 return MatchTable::NamedValue(I->Namespace, I->TheDef->getName(), in getValue()
1841 return MatchTable::NamedValue(I->Namespace, I->TheDef->getName()); in getValue()
1844 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1848 Table << MatchTable::Opcode(CheckType) << MatchTable::Comment("MI") in emitPredicateOpcodes()
1849 << MatchTable::IntValue(InsnVarID); in emitPredicateOpcodes()
1853 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
1920 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1922 Table << MatchTable::Opcode("GIM_CheckNumOperands") in emitPredicateOpcodes()
1923 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1924 << MatchTable::Comment("Expected") in emitPredicateOpcodes()
1925 << MatchTable::IntValue(NumOperands) << MatchTable::LineBreak; in emitPredicateOpcodes()
1976 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1978 Table << MatchTable::Opcode(getMatchOpcodeForImmPredicate(Predicate)) in emitPredicateOpcodes()
1979 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
1980 << MatchTable::Comment("Predicate") in emitPredicateOpcodes()
1981 << MatchTable::NamedValue(getEnumNameForPredicate(Predicate)) in emitPredicateOpcodes()
1982 << MatchTable::LineBreak; in emitPredicateOpcodes()
2017 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2026 Table << MatchTable::Opcode(Opcode) << MatchTable::Comment("MI") in emitPredicateOpcodes()
2027 << MatchTable::IntValue(InsnVarID) << MatchTable::Comment("Order") in emitPredicateOpcodes()
2028 << MatchTable::NamedValue(("(int64_t)AtomicOrdering::" + Order).str()) in emitPredicateOpcodes()
2029 << MatchTable::LineBreak; in emitPredicateOpcodes()
2053 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2055 Table << MatchTable::Opcode("GIM_CheckMemorySizeEqualTo") in emitPredicateOpcodes()
2056 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
2057 << MatchTable::Comment("MMO") << MatchTable::IntValue(MMOIdx) in emitPredicateOpcodes()
2058 << MatchTable::Comment("Size") << MatchTable::IntValue(Size) in emitPredicateOpcodes()
2059 << MatchTable::LineBreak; in emitPredicateOpcodes()
2084 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2086 Table << MatchTable::Opcode("GIM_CheckMemoryAddressSpace") in emitPredicateOpcodes()
2087 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
2088 << MatchTable::Comment("MMO") << MatchTable::IntValue(MMOIdx) in emitPredicateOpcodes()
2090 << MatchTable::Comment("NumAddrSpace") in emitPredicateOpcodes()
2091 << MatchTable::IntValue(AddrSpaces.size()); in emitPredicateOpcodes()
2093 Table << MatchTable::Comment("AddrSpace") << MatchTable::IntValue(AS); in emitPredicateOpcodes()
2095 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
2123 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2125 Table << MatchTable::Opcode("GIM_CheckMemoryAlignment") in emitPredicateOpcodes()
2126 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
2127 << MatchTable::Comment("MMO") << MatchTable::IntValue(MMOIdx) in emitPredicateOpcodes()
2128 << MatchTable::Comment("MinAlign") << MatchTable::IntValue(MinAlign) in emitPredicateOpcodes()
2129 << MatchTable::LineBreak; in emitPredicateOpcodes()
2165 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2167 Table << MatchTable::Opcode(Relation == EqualTo in emitPredicateOpcodes()
2172 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
2173 << MatchTable::Comment("MMO") << MatchTable::IntValue(MMOIdx) in emitPredicateOpcodes()
2174 << MatchTable::Comment("OpIdx") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
2175 << MatchTable::LineBreak; in emitPredicateOpcodes()
2203 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2206 Table << MatchTable::Opcode("GIM_CheckIsBuildVectorAllOnes"); in emitPredicateOpcodes()
2208 Table << MatchTable::Opcode("GIM_CheckIsBuildVectorAllZeros"); in emitPredicateOpcodes()
2210 Table << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID); in emitPredicateOpcodes()
2211 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
2235 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2237 Table << MatchTable::Opcode("GIM_CheckCxxInsnPredicate") in emitPredicateOpcodes()
2238 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
2239 << MatchTable::Comment("FnId") in emitPredicateOpcodes()
2240 << MatchTable::NamedValue(getEnumNameForPredicate(Predicate)) in emitPredicateOpcodes()
2241 << MatchTable::LineBreak; in emitPredicateOpcodes()
2260 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2262 Table << MatchTable::Opcode("GIM_CheckHasNoUse") in emitPredicateOpcodes()
2263 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
2264 << MatchTable::LineBreak; in emitPredicateOpcodes()
2369 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes()
2496 void emitCaptureOpcodes(MatchTable &Table, RuleMatcher &Rule) const { in emitCaptureOpcodes()
2498 Table << MatchTable::Opcode("GIM_RecordInsn") in emitCaptureOpcodes()
2499 << MatchTable::Comment("DefineMI") in emitCaptureOpcodes()
2500 << MatchTable::IntValue(NewInsnVarID) << MatchTable::Comment("MI") in emitCaptureOpcodes()
2501 << MatchTable::IntValue(getInsnVarID()) in emitCaptureOpcodes()
2502 << MatchTable::Comment("OpIdx") << MatchTable::IntValue(getOpIdx()) in emitCaptureOpcodes()
2503 << MatchTable::Comment("MIs[" + llvm::to_string(NewInsnVarID) + "]") in emitCaptureOpcodes()
2504 << MatchTable::LineBreak; in emitCaptureOpcodes()
2507 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
2591 virtual void emitRenderOpcodes(MatchTable &Table,
2616 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2619 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
2620 << MatchTable::IntValue(NewInsnID) << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2621 << MatchTable::IntValue(OldInsnVarID) << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
2622 << MatchTable::IntValue(Operand.getOpIdx()) in emitRenderOpcodes()
2623 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2647 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2650 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
2651 << MatchTable::IntValue(NewInsnID) << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2652 << MatchTable::IntValue(OldInsnVarID) << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
2653 << MatchTable::IntValue(Operand.getOpIdx()) in emitRenderOpcodes()
2654 << MatchTable::Comment(PhysReg->getName()) in emitRenderOpcodes()
2655 << MatchTable::LineBreak; in emitRenderOpcodes()
2683 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2686 Table << MatchTable::Opcode("GIR_CopyOrAddZeroReg") in emitRenderOpcodes()
2687 << MatchTable::Comment("NewInsnID") << MatchTable::IntValue(NewInsnID) in emitRenderOpcodes()
2688 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2689 << MatchTable::IntValue(OldInsnVarID) << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
2690 << MatchTable::IntValue(Operand.getOpIdx()) in emitRenderOpcodes()
2691 << MatchTable::NamedValue( in emitRenderOpcodes()
2696 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2720 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2723 Table << MatchTable::Opcode(Signed ? "GIR_CopyConstantAsSImm" in emitRenderOpcodes()
2725 << MatchTable::Comment("NewInsnID") << MatchTable::IntValue(NewInsnID) in emitRenderOpcodes()
2726 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2727 << MatchTable::IntValue(OldInsnVarID) in emitRenderOpcodes()
2728 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2751 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2754 Table << MatchTable::Opcode("GIR_CopyFConstantAsFPImm") in emitRenderOpcodes()
2755 << MatchTable::Comment("NewInsnID") << MatchTable::IntValue(NewInsnID) in emitRenderOpcodes()
2756 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2757 << MatchTable::IntValue(OldInsnVarID) in emitRenderOpcodes()
2758 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2785 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2788 Table << MatchTable::Opcode("GIR_CopySubReg") in emitRenderOpcodes()
2789 << MatchTable::Comment("NewInsnID") << MatchTable::IntValue(NewInsnID) in emitRenderOpcodes()
2790 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2791 << MatchTable::IntValue(OldInsnVarID) << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
2792 << MatchTable::IntValue(Operand.getOpIdx()) in emitRenderOpcodes()
2793 << MatchTable::Comment("SubRegIdx") in emitRenderOpcodes()
2794 << MatchTable::IntValue(SubReg->EnumValue) in emitRenderOpcodes()
2795 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2818 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2819 Table << MatchTable::Opcode("GIR_AddRegister") in emitRenderOpcodes()
2820 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID); in emitRenderOpcodes()
2822 Table << MatchTable::NamedValue( in emitRenderOpcodes()
2828 Table << MatchTable::NamedValue(Target.getRegNamespace(), "NoRegister"); in emitRenderOpcodes()
2830 Table << MatchTable::Comment("AddRegisterRegFlags"); in emitRenderOpcodes()
2836 Table << MatchTable::NamedValue("RegState::Define"); in emitRenderOpcodes()
2838 Table << MatchTable::IntValue(0); in emitRenderOpcodes()
2839 Table << MatchTable::LineBreak; in emitRenderOpcodes()
2865 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2868 Table << MatchTable::Opcode("GIR_AddTempSubRegister"); in emitRenderOpcodes()
2870 Table << MatchTable::Opcode("GIR_AddTempRegister"); in emitRenderOpcodes()
2872 Table << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitRenderOpcodes()
2873 << MatchTable::Comment("TempRegID") << MatchTable::IntValue(TempRegID) in emitRenderOpcodes()
2874 << MatchTable::Comment("TempRegFlags"); in emitRenderOpcodes()
2881 Table << MatchTable::NamedValue(RegFlags); in emitRenderOpcodes()
2883 Table << MatchTable::IntValue(0); in emitRenderOpcodes()
2886 Table << MatchTable::NamedValue(SubRegIdx->getQualifiedName()); in emitRenderOpcodes()
2887 Table << MatchTable::LineBreak; in emitRenderOpcodes()
2905 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2906 Table << MatchTable::Opcode("GIR_AddImm") << MatchTable::Comment("InsnID") in emitRenderOpcodes()
2907 << MatchTable::IntValue(InsnID) << MatchTable::Comment("Imm") in emitRenderOpcodes()
2908 << MatchTable::IntValue(Imm) << MatchTable::LineBreak; in emitRenderOpcodes()
2926 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2927 Table << MatchTable::Opcode("GIR_AddImm") << MatchTable::Comment("InsnID") in emitRenderOpcodes()
2928 << MatchTable::IntValue(InsnID) << MatchTable::Comment("SubRegIndex") in emitRenderOpcodes()
2929 << MatchTable::IntValue(SubRegIdx->EnumValue) in emitRenderOpcodes()
2930 << MatchTable::LineBreak; in emitRenderOpcodes()
2965 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2966 Table << MatchTable::Opcode(SubOperand ? "GIR_ComplexSubOperandRenderer" in emitRenderOpcodes()
2968 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitRenderOpcodes()
2969 << MatchTable::Comment("RendererID") in emitRenderOpcodes()
2970 << MatchTable::IntValue(RendererID); in emitRenderOpcodes()
2972 Table << MatchTable::Comment("SubOperand") in emitRenderOpcodes()
2973 << MatchTable::IntValue(SubOperand.value()); in emitRenderOpcodes()
2974 Table << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2995 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
2998 Table << MatchTable::Opcode("GIR_CustomRenderer") in emitRenderOpcodes()
2999 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitRenderOpcodes()
3000 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
3001 << MatchTable::IntValue(OldInsnVarID) in emitRenderOpcodes()
3002 << MatchTable::Comment("Renderer") in emitRenderOpcodes()
3003 << MatchTable::NamedValue( in emitRenderOpcodes()
3005 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
3026 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes()
3028 Table << MatchTable::Opcode("GIR_CustomOperandRenderer") in emitRenderOpcodes()
3029 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitRenderOpcodes()
3030 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
3031 << MatchTable::IntValue(OpdMatcher.getInsnVarID()) in emitRenderOpcodes()
3032 << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
3033 << MatchTable::IntValue(OpdMatcher.getOpIdx()) in emitRenderOpcodes()
3034 << MatchTable::Comment("OperandRenderer") in emitRenderOpcodes()
3035 << MatchTable::NamedValue( in emitRenderOpcodes()
3037 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
3051 virtual void emitActionOpcodes(MatchTable &Table,
3063 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3064 Table << MatchTable::Comment(S) << MatchTable::LineBreak; in emitActionOpcodes()
3123 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3129 Table << MatchTable::Opcode("GIR_MutateOpcode") in emitActionOpcodes()
3130 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitActionOpcodes()
3131 << MatchTable::Comment("RecycleInsnID") in emitActionOpcodes()
3132 << MatchTable::IntValue(RecycleInsnID) in emitActionOpcodes()
3133 << MatchTable::Comment("Opcode") in emitActionOpcodes()
3134 << MatchTable::NamedValue(I->Namespace, I->TheDef->getName()) in emitActionOpcodes()
3135 << MatchTable::LineBreak; in emitActionOpcodes()
3142 Table << MatchTable::Opcode("GIR_AddImplicitDef") in emitActionOpcodes()
3143 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitActionOpcodes()
3144 << MatchTable::NamedValue(Namespace, Def->getName()) in emitActionOpcodes()
3145 << MatchTable::LineBreak; in emitActionOpcodes()
3151 Table << MatchTable::Opcode("GIR_AddImplicitUse") in emitActionOpcodes()
3152 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitActionOpcodes()
3153 << MatchTable::NamedValue(Namespace, Use->getName()) in emitActionOpcodes()
3154 << MatchTable::LineBreak; in emitActionOpcodes()
3163 Table << MatchTable::Opcode("GIR_BuildMI") << MatchTable::Comment("InsnID") in emitActionOpcodes()
3164 << MatchTable::IntValue(InsnID) << MatchTable::Comment("Opcode") in emitActionOpcodes()
3165 << MatchTable::NamedValue(I->Namespace, I->TheDef->getName()) in emitActionOpcodes()
3166 << MatchTable::LineBreak; in emitActionOpcodes()
3171 Table << MatchTable::Opcode("GIR_MergeMemOperands") in emitActionOpcodes()
3172 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitActionOpcodes()
3173 << MatchTable::Comment("MergeInsnID's"); in emitActionOpcodes()
3186 Table << MatchTable::IntValue(MergeInsnID); in emitActionOpcodes()
3187 Table << MatchTable::NamedValue("GIU_MergeMemOperands_EndOfList") in emitActionOpcodes()
3188 << MatchTable::LineBreak; in emitActionOpcodes()
3195 Table << MatchTable::Opcode("GIR_EraseFromParent") in emitActionOpcodes()
3196 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitActionOpcodes()
3197 << MatchTable::LineBreak; in emitActionOpcodes()
3209 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3210 Table << MatchTable::Opcode("GIR_ConstrainSelectedInstOperands") in emitActionOpcodes()
3211 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitActionOpcodes()
3212 << MatchTable::LineBreak; in emitActionOpcodes()
3228 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3229 Table << MatchTable::Opcode("GIR_ConstrainOperandRC") in emitActionOpcodes()
3230 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitActionOpcodes()
3231 << MatchTable::Comment("Op") << MatchTable::IntValue(OpIdx) in emitActionOpcodes()
3232 << MatchTable::NamedValue(RC.getQualifiedName() + "RegClassID") in emitActionOpcodes()
3233 << MatchTable::LineBreak; in emitActionOpcodes()
3250 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes()
3251 Table << MatchTable::Opcode("GIR_MakeTempReg") in emitActionOpcodes()
3252 << MatchTable::Comment("TempRegID") << MatchTable::IntValue(TempRegID) in emitActionOpcodes()
3253 << MatchTable::Comment("TypeID") in emitActionOpcodes()
3254 << MatchTable::NamedValue(Ty.getCxxEnumValue()) in emitActionOpcodes()
3255 << MatchTable::LineBreak; in emitActionOpcodes()
3363 void RuleMatcher::emit(MatchTable &Table) { in emit()
3379 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
3380 << MatchTable::Comment("On fail goto") in emit()
3381 << MatchTable::JumpTarget(LabelID) in emit()
3382 << MatchTable::Comment(("Rule ID " + Twine(RuleID) + " //").str()) in emit()
3383 << MatchTable::LineBreak; in emit()
3386 Table << MatchTable::Opcode("GIM_CheckFeatures") in emit()
3387 << MatchTable::NamedValue(getNameForFeatureBitset(RequiredFeatures)) in emit()
3388 << MatchTable::LineBreak; in emit()
3409 Table << MatchTable::Opcode("GIM_CheckIsSafeToFold") in emit()
3410 << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emit()
3411 << MatchTable::LineBreak; in emit()
3457 Table << MatchTable::Opcode("GIR_Coverage") << MatchTable::IntValue(RuleID) in emit()
3458 << MatchTable::LineBreak; in emit()
3460 Table << MatchTable::Comment(("GIR_Coverage, " + Twine(RuleID) + ",").str()) in emit()
3461 << MatchTable::LineBreak; in emit()
3463 Table << MatchTable::Opcode("GIR_Done", -1) << MatchTable::LineBreak in emit()
3464 << MatchTable::Label(LabelID); in emit()
3525 void SameOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
3531 Table << MatchTable::Opcode("GIM_CheckIsSameOperand") in emitPredicateOpcodes()
3532 << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID) in emitPredicateOpcodes()
3533 << MatchTable::Comment("OpIdx") << MatchTable::IntValue(OpIdx) in emitPredicateOpcodes()
3534 << MatchTable::Comment("OtherMI") in emitPredicateOpcodes()
3535 << MatchTable::IntValue(OtherInsnVarID) in emitPredicateOpcodes()
3536 << MatchTable::Comment("OtherOpIdx") in emitPredicateOpcodes()
3537 << MatchTable::IntValue(OtherOM.getOpIdx()) in emitPredicateOpcodes()
3538 << MatchTable::LineBreak; in emitPredicateOpcodes()
3672 MatchTable buildMatchTable(MutableArrayRef<RuleMatcher> Rules, bool Optimize,
5600 MatchTable
5608 return MatchTable::buildTable(InputRules, WithCoverage); in buildMatchTable()
5639 return MatchTable::buildTable(OptRules, WithCoverage); in buildMatchTable()
5975 const MatchTable Table = in run()
6144 void GroupMatcher::emit(MatchTable &Table) { in emit()
6148 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
6149 << MatchTable::Comment("On fail goto") in emit()
6150 << MatchTable::JumpTarget(LabelID) << MatchTable::LineBreak; in emit()
6161 Table << MatchTable::Opcode("GIM_Reject", -1) << MatchTable::LineBreak in emit()
6162 << MatchTable::Label(LabelID); in emit()
6233 MatchTable &Table) { in emitPredicateSpecificOpcodes()
6237 Table << MatchTable::Opcode("GIM_SwitchOpcode") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
6238 << MatchTable::IntValue(Condition->getInsnVarID()); in emitPredicateSpecificOpcodes()
6242 Table << MatchTable::Opcode("GIM_SwitchType") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
6243 << MatchTable::IntValue(Condition->getInsnVarID()) in emitPredicateSpecificOpcodes()
6244 << MatchTable::Comment("Op") in emitPredicateSpecificOpcodes()
6245 << MatchTable::IntValue(Condition->getOpIdx()); in emitPredicateSpecificOpcodes()
6253 void SwitchMatcher::emit(MatchTable &Table) { in emit()
6270 Table << MatchTable::Comment("[") << MatchTable::IntValue(LowerBound) in emit()
6271 << MatchTable::IntValue(UpperBound) << MatchTable::Comment(")") in emit()
6272 << MatchTable::Comment("default:") << MatchTable::JumpTarget(Default); in emit()
6279 Table << MatchTable::IntValue(0); in emit()
6281 Table << MatchTable::LineBreak << V << MatchTable::JumpTarget(LabelIDs[I]); in emit()
6283 Table << MatchTable::LineBreak; in emit()
6286 Table << MatchTable::Label(LabelIDs[I]); in emit()
6288 Table << MatchTable::Opcode("GIM_Reject") << MatchTable::LineBreak; in emit()
6290 Table << MatchTable::Label(Default); in emit()