Lines Matching refs:MatchTable
164 const MatchTable &Table) const { in emit()
204 MatchTableRecord MatchTable::LineBreak = {
208 MatchTableRecord MatchTable::Comment(StringRef Comment) { in Comment()
213 MatchTableRecord MatchTable::Opcode(StringRef Opcode, int IndentAdjust) { in Opcode()
224 MatchTableRecord MatchTable::NamedValue(unsigned NumBytes, in NamedValue()
230 MatchTableRecord MatchTable::NamedValue(unsigned NumBytes, StringRef NamedValue, in NamedValue()
236 MatchTableRecord MatchTable::NamedValue(unsigned NumBytes, StringRef Namespace, in NamedValue()
242 MatchTableRecord MatchTable::NamedValue(unsigned NumBytes, StringRef Namespace, in NamedValue()
250 MatchTableRecord MatchTable::IntValue(unsigned NumBytes, int64_t IntValue) { in IntValue()
261 MatchTableRecord MatchTable::ULEB128Value(uint64_t IntValue) { in ULEB128Value()
286 MatchTableRecord MatchTable::Label(unsigned LabelID) { in Label()
293 MatchTableRecord MatchTable::JumpTarget(unsigned LabelID) { in JumpTarget()
300 void MatchTable::emitUse(raw_ostream &OS) const { OS << "MatchTable" << ID; } in emitUse()
302 void MatchTable::emitDeclaration(raw_ostream &OS) const { in emitDeclaration()
331 MatchTable MatchTable::buildTable(ArrayRef<Matcher *> Rules, bool WithCoverage, in buildTable()
333 MatchTable Table(WithCoverage, IsCombiner); in buildTable()
337 return Table << MatchTable::Opcode("GIM_Reject") << MatchTable::LineBreak; in buildTable()
505 void GroupMatcher::emit(MatchTable &Table) { in emit()
509 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
510 << MatchTable::Comment("On fail goto") in emit()
511 << MatchTable::JumpTarget(LabelID) << MatchTable::LineBreak; in emit()
522 Table << MatchTable::Opcode("GIM_Reject", -1) << MatchTable::LineBreak in emit()
523 << MatchTable::Label(LabelID); in emit()
622 MatchTable &Table) { in emitPredicateSpecificOpcodes()
626 Table << MatchTable::Opcode("GIM_SwitchOpcode") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
627 << MatchTable::ULEB128Value(Condition->getInsnVarID()); in emitPredicateSpecificOpcodes()
631 Table << MatchTable::Opcode("GIM_SwitchType") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
632 << MatchTable::ULEB128Value(Condition->getInsnVarID()) in emitPredicateSpecificOpcodes()
633 << MatchTable::Comment("Op") in emitPredicateSpecificOpcodes()
634 << MatchTable::ULEB128Value(Condition->getOpIdx()); in emitPredicateSpecificOpcodes()
642 void SwitchMatcher::emit(MatchTable &Table) { in emit()
659 Table << MatchTable::Comment("[") << MatchTable::IntValue(2, LowerBound) in emit()
660 << MatchTable::IntValue(2, UpperBound) << MatchTable::Comment(")") in emit()
661 << MatchTable::Comment("default:") << MatchTable::JumpTarget(Default); in emit()
668 Table << MatchTable::IntValue(4, 0); in emit()
670 Table << MatchTable::LineBreak << V << MatchTable::JumpTarget(LabelIDs[I]); in emit()
672 Table << MatchTable::LineBreak; in emit()
675 Table << MatchTable::Label(LabelIDs[I]); in emit()
677 Table << MatchTable::Opcode("GIM_Reject") << MatchTable::LineBreak; in emit()
679 Table << MatchTable::Label(Default); in emit()
925 void RuleMatcher::emit(MatchTable &Table) { in emit()
941 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
942 << MatchTable::Comment("On fail goto") in emit()
943 << MatchTable::JumpTarget(LabelID) in emit()
944 << MatchTable::Comment(("Rule ID " + Twine(RuleID) + " //").str()) in emit()
945 << MatchTable::LineBreak; in emit()
948 Table << MatchTable::Opcode("GIM_CheckFeatures") in emit()
949 << MatchTable::NamedValue( in emit()
951 << MatchTable::LineBreak; in emit()
956 Table << MatchTable::Opcode("GIM_CheckSimplePredicate") in emit()
957 << MatchTable::NamedValue(2, Pred) << MatchTable::LineBreak; in emit()
983 Table << MatchTable::Opcode("GIM_CheckIsSafeToFold") in emit()
984 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emit()
985 << MatchTable::LineBreak; in emit()
1033 Table << MatchTable::Opcode("GIR_Coverage") in emit()
1034 << MatchTable::IntValue(4, RuleID) << MatchTable::LineBreak; in emit()
1036 Table << MatchTable::Comment(("GIR_Coverage, " + Twine(RuleID) + ",").str()) in emit()
1037 << MatchTable::LineBreak; in emit()
1039 Table << MatchTable::Opcode("GIR_Done", -1) << MatchTable::LineBreak in emit()
1040 << MatchTable::Label(LabelID); in emit()
1111 void SameOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1117 Table << MatchTable::Opcode(IgnoreCopies in emitPredicateOpcodes()
1120 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1121 << MatchTable::Comment("OpIdx") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1122 << MatchTable::Comment("OtherMI") in emitPredicateOpcodes()
1123 << MatchTable::ULEB128Value(OtherInsnVarID) in emitPredicateOpcodes()
1124 << MatchTable::Comment("OtherOpIdx") in emitPredicateOpcodes()
1125 << MatchTable::ULEB128Value(OtherOM.getOpIdx()) in emitPredicateOpcodes()
1126 << MatchTable::LineBreak; in emitPredicateOpcodes()
1136 return MatchTable::NamedValue(1, getTy().getCxxEnumValue()); in getValue()
1137 return MatchTable::NamedValue(1, getTy().getCxxEnumValue(), VI->second); in getValue()
1146 void LLTOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1148 Table << MatchTable::Opcode("GIM_CheckType") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1149 << MatchTable::ULEB128Value(InsnVarID) << MatchTable::Comment("Op") in emitPredicateOpcodes()
1150 << MatchTable::ULEB128Value(OpIdx) << MatchTable::Comment("Type") in emitPredicateOpcodes()
1151 << getValue() << MatchTable::LineBreak; in emitPredicateOpcodes()
1156 void PointerToAnyOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1158 Table << MatchTable::Opcode("GIM_CheckPointerToAny") in emitPredicateOpcodes()
1159 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1160 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1161 << MatchTable::Comment("SizeInBits") in emitPredicateOpcodes()
1162 << MatchTable::ULEB128Value(SizeInBits) << MatchTable::LineBreak; in emitPredicateOpcodes()
1167 void RecordNamedOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1169 Table << MatchTable::Opcode("GIM_RecordNamedOperand") in emitPredicateOpcodes()
1170 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1171 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1172 << MatchTable::Comment("StoreIdx") << MatchTable::ULEB128Value(StoreIdx) in emitPredicateOpcodes()
1173 << MatchTable::Comment("Name : " + Name) << MatchTable::LineBreak; in emitPredicateOpcodes()
1178 void RecordRegisterType::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1181 Table << MatchTable::Opcode("GIM_RecordRegType") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1182 << MatchTable::ULEB128Value(InsnVarID) << MatchTable::Comment("Op") in emitPredicateOpcodes()
1183 << MatchTable::ULEB128Value(OpIdx) << MatchTable::Comment("TempTypeIdx") in emitPredicateOpcodes()
1184 << MatchTable::IntValue(1, Idx) << MatchTable::LineBreak; in emitPredicateOpcodes()
1190 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1192 Table << MatchTable::Opcode("GIM_CheckComplexPattern") in emitPredicateOpcodes()
1193 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1194 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1195 << MatchTable::Comment("Renderer") << MatchTable::IntValue(2, ID) in emitPredicateOpcodes()
1196 << MatchTable::NamedValue(2, ("GICP_" + TheDef.getName()).str()) in emitPredicateOpcodes()
1197 << MatchTable::LineBreak; in emitPredicateOpcodes()
1211 void RegisterBankOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1213 Table << MatchTable::Opcode("GIM_CheckRegBankForClass") in emitPredicateOpcodes()
1214 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1215 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1216 << MatchTable::Comment("RC") in emitPredicateOpcodes()
1217 << MatchTable::NamedValue(2, RC.getQualifiedIdName()) in emitPredicateOpcodes()
1218 << MatchTable::LineBreak; in emitPredicateOpcodes()
1223 void MBBOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1225 Table << MatchTable::Opcode("GIM_CheckIsMBB") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1226 << MatchTable::ULEB128Value(InsnVarID) << MatchTable::Comment("Op") in emitPredicateOpcodes()
1227 << MatchTable::ULEB128Value(OpIdx) << MatchTable::LineBreak; in emitPredicateOpcodes()
1232 void ImmOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1234 Table << MatchTable::Opcode("GIM_CheckIsImm") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1235 << MatchTable::ULEB128Value(InsnVarID) << MatchTable::Comment("Op") in emitPredicateOpcodes()
1236 << MatchTable::ULEB128Value(OpIdx) << MatchTable::LineBreak; in emitPredicateOpcodes()
1241 void ConstantIntOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1244 Table << MatchTable::Opcode(IsInt8 ? "GIM_CheckConstantInt8" in emitPredicateOpcodes()
1246 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1247 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1248 << MatchTable::IntValue(IsInt8 ? 1 : 8, Value) << MatchTable::LineBreak; in emitPredicateOpcodes()
1253 void LiteralIntOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1255 Table << MatchTable::Opcode("GIM_CheckLiteralInt") in emitPredicateOpcodes()
1256 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1257 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1258 << MatchTable::IntValue(8, Value) << MatchTable::LineBreak; in emitPredicateOpcodes()
1263 void CmpPredicateOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1265 Table << MatchTable::Opcode("GIM_CheckCmpPredicate") in emitPredicateOpcodes()
1266 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1267 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1268 << MatchTable::Comment("Predicate") in emitPredicateOpcodes()
1269 << MatchTable::NamedValue(2, "CmpInst", PredName) in emitPredicateOpcodes()
1270 << MatchTable::LineBreak; in emitPredicateOpcodes()
1275 void IntrinsicIDOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1277 Table << MatchTable::Opcode("GIM_CheckIntrinsicID") in emitPredicateOpcodes()
1278 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1279 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1280 << MatchTable::NamedValue(2, "Intrinsic::" + II->EnumName) in emitPredicateOpcodes()
1281 << MatchTable::LineBreak; in emitPredicateOpcodes()
1286 void OperandImmPredicateMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1288 Table << MatchTable::Opcode("GIM_CheckImmOperandPredicate") in emitPredicateOpcodes()
1289 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1290 << MatchTable::Comment("MO") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1291 << MatchTable::Comment("Predicate") in emitPredicateOpcodes()
1292 << MatchTable::NamedValue(2, getEnumNameForPredicate(Predicate)) in emitPredicateOpcodes()
1293 << MatchTable::LineBreak; in emitPredicateOpcodes()
1317 void OperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1327 Table << MatchTable::Comment(Comment) << MatchTable::LineBreak; in emitPredicateOpcodes()
1393 return MatchTable::NamedValue(2, I->Namespace, I->TheDef->getName(), in getInstValue()
1395 return MatchTable::NamedValue(2, I->Namespace, I->TheDef->getName()); in getInstValue()
1413 return MatchTable::NamedValue(2, I->Namespace, I->TheDef->getName(), in getValue()
1415 return MatchTable::NamedValue(2, I->Namespace, I->TheDef->getName()); in getValue()
1418 void InstructionOpcodeMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1422 Table << MatchTable::Opcode(CheckType) << MatchTable::Comment("MI") in emitPredicateOpcodes()
1423 << MatchTable::ULEB128Value(InsnVarID); in emitPredicateOpcodes()
1427 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
1468 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1469 Table << MatchTable::Opcode("GIM_CheckNumOperands") in emitPredicateOpcodes()
1470 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1471 << MatchTable::Comment("Expected") in emitPredicateOpcodes()
1472 << MatchTable::ULEB128Value(NumOperands) << MatchTable::LineBreak; in emitPredicateOpcodes()
1486 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1487 Table << MatchTable::Opcode(getMatchOpcodeForImmPredicate(Predicate)) in emitPredicateOpcodes()
1488 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1489 << MatchTable::Comment("Predicate") in emitPredicateOpcodes()
1490 << MatchTable::NamedValue(2, getEnumNameForPredicate(Predicate)) in emitPredicateOpcodes()
1491 << MatchTable::LineBreak; in emitPredicateOpcodes()
1505 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1513 Table << MatchTable::Opcode(Opcode) << MatchTable::Comment("MI") in emitPredicateOpcodes()
1514 << MatchTable::ULEB128Value(InsnVarID) << MatchTable::Comment("Order") in emitPredicateOpcodes()
1515 << MatchTable::NamedValue(1, in emitPredicateOpcodes()
1517 << MatchTable::LineBreak; in emitPredicateOpcodes()
1522 void MemorySizePredicateMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1524 Table << MatchTable::Opcode("GIM_CheckMemorySizeEqualTo") in emitPredicateOpcodes()
1525 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1526 << MatchTable::Comment("MMO") << MatchTable::ULEB128Value(MMOIdx) in emitPredicateOpcodes()
1527 << MatchTable::Comment("Size") << MatchTable::IntValue(4, Size) in emitPredicateOpcodes()
1528 << MatchTable::LineBreak; in emitPredicateOpcodes()
1542 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1543 Table << MatchTable::Opcode("GIM_CheckMemoryAddressSpace") in emitPredicateOpcodes()
1544 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1545 << MatchTable::Comment("MMO") in emitPredicateOpcodes()
1546 << MatchTable::ULEB128Value(MMOIdx) in emitPredicateOpcodes()
1548 << MatchTable::Comment("NumAddrSpace") in emitPredicateOpcodes()
1549 << MatchTable::ULEB128Value(AddrSpaces.size()); in emitPredicateOpcodes()
1551 Table << MatchTable::Comment("AddrSpace") << MatchTable::ULEB128Value(AS); in emitPredicateOpcodes()
1553 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
1567 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1568 Table << MatchTable::Opcode("GIM_CheckMemoryAlignment") in emitPredicateOpcodes()
1569 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1570 << MatchTable::Comment("MMO") << MatchTable::ULEB128Value(MMOIdx) in emitPredicateOpcodes()
1571 << MatchTable::Comment("MinAlign") << MatchTable::ULEB128Value(MinAlign) in emitPredicateOpcodes()
1572 << MatchTable::LineBreak; in emitPredicateOpcodes()
1586 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1587 Table << MatchTable::Opcode( in emitPredicateOpcodes()
1591 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1592 << MatchTable::Comment("MMO") << MatchTable::ULEB128Value(MMOIdx) in emitPredicateOpcodes()
1593 << MatchTable::Comment("OpIdx") << MatchTable::ULEB128Value(OpIdx) in emitPredicateOpcodes()
1594 << MatchTable::LineBreak; in emitPredicateOpcodes()
1600 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1602 Table << MatchTable::Opcode("GIM_CheckIsBuildVectorAllOnes"); in emitPredicateOpcodes()
1604 Table << MatchTable::Opcode("GIM_CheckIsBuildVectorAllZeros"); in emitPredicateOpcodes()
1606 Table << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID); in emitPredicateOpcodes()
1607 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
1624 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1625 Table << MatchTable::Opcode("GIM_CheckCxxInsnPredicate") in emitPredicateOpcodes()
1626 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1627 << MatchTable::Comment("FnId") << MatchTable::NamedValue(2, EnumVal) in emitPredicateOpcodes()
1628 << MatchTable::LineBreak; in emitPredicateOpcodes()
1643 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes()
1644 Table << MatchTable::Opcode(CheckNot ? "GIM_MIFlagsNot" : "GIM_MIFlags") in emitPredicateOpcodes()
1645 << MatchTable::Comment("MI") << MatchTable::ULEB128Value(InsnVarID) in emitPredicateOpcodes()
1646 << MatchTable::NamedValue(4, join(Flags, " | ")) in emitPredicateOpcodes()
1647 << MatchTable::LineBreak; in emitPredicateOpcodes()
1683 void InstructionMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes()
1785 void InstructionOperandMatcher::emitCaptureOpcodes(MatchTable &Table, in emitCaptureOpcodes()
1789 Table << MatchTable::Opcode(IgnoreCopies ? "GIM_RecordInsnIgnoreCopies" in emitCaptureOpcodes()
1791 << MatchTable::Comment("DefineMI") in emitCaptureOpcodes()
1792 << MatchTable::ULEB128Value(NewInsnVarID) << MatchTable::Comment("MI") in emitCaptureOpcodes()
1793 << MatchTable::ULEB128Value(getInsnVarID()) in emitCaptureOpcodes()
1794 << MatchTable::Comment("OpIdx") << MatchTable::ULEB128Value(getOpIdx()) in emitCaptureOpcodes()
1795 << MatchTable::Comment("MIs[" + llvm::to_string(NewInsnVarID) + "]") in emitCaptureOpcodes()
1796 << MatchTable::LineBreak; in emitCaptureOpcodes()
1819 void CopyRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1823 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1824 << MatchTable::ULEB128Value(NewInsnID) in emitRenderOpcodes()
1825 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
1826 << MatchTable::ULEB128Value(OldInsnVarID) in emitRenderOpcodes()
1827 << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
1828 << MatchTable::ULEB128Value(Operand.getOpIdx()) in emitRenderOpcodes()
1829 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
1834 void CopyPhysRegRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1838 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1839 << MatchTable::ULEB128Value(NewInsnID) in emitRenderOpcodes()
1840 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
1841 << MatchTable::ULEB128Value(OldInsnVarID) in emitRenderOpcodes()
1842 << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
1843 << MatchTable::ULEB128Value(Operand.getOpIdx()) in emitRenderOpcodes()
1844 << MatchTable::Comment(PhysReg->getName()) << MatchTable::LineBreak; in emitRenderOpcodes()
1849 void CopyOrAddZeroRegRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1853 Table << MatchTable::Opcode("GIR_CopyOrAddZeroReg") in emitRenderOpcodes()
1854 << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1855 << MatchTable::ULEB128Value(NewInsnID) in emitRenderOpcodes()
1856 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
1857 << MatchTable::ULEB128Value(OldInsnVarID) in emitRenderOpcodes()
1858 << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
1859 << MatchTable::ULEB128Value(Operand.getOpIdx()) in emitRenderOpcodes()
1860 << MatchTable::NamedValue( in emitRenderOpcodes()
1866 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
1871 void CopyConstantAsImmRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1875 Table << MatchTable::Opcode(Signed ? "GIR_CopyConstantAsSImm" in emitRenderOpcodes()
1877 << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1878 << MatchTable::ULEB128Value(NewInsnID) in emitRenderOpcodes()
1879 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
1880 << MatchTable::ULEB128Value(OldInsnVarID) in emitRenderOpcodes()
1881 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
1886 void CopyFConstantAsFPImmRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1890 Table << MatchTable::Opcode("GIR_CopyFConstantAsFPImm") in emitRenderOpcodes()
1891 << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1892 << MatchTable::ULEB128Value(NewInsnID) in emitRenderOpcodes()
1893 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
1894 << MatchTable::ULEB128Value(OldInsnVarID) in emitRenderOpcodes()
1895 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
1900 void CopySubRegRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1904 Table << MatchTable::Opcode("GIR_CopySubReg") in emitRenderOpcodes()
1905 << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1906 << MatchTable::ULEB128Value(NewInsnID) in emitRenderOpcodes()
1907 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
1908 << MatchTable::ULEB128Value(OldInsnVarID) in emitRenderOpcodes()
1909 << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
1910 << MatchTable::ULEB128Value(Operand.getOpIdx()) in emitRenderOpcodes()
1911 << MatchTable::Comment("SubRegIdx") in emitRenderOpcodes()
1912 << MatchTable::IntValue(2, SubReg->EnumValue) in emitRenderOpcodes()
1913 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
1918 void AddRegisterRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1920 Table << MatchTable::Opcode("GIR_AddRegister") in emitRenderOpcodes()
1921 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID); in emitRenderOpcodes()
1923 Table << MatchTable::NamedValue( in emitRenderOpcodes()
1930 Table << MatchTable::NamedValue(2, Target.getRegNamespace(), "NoRegister"); in emitRenderOpcodes()
1932 Table << MatchTable::Comment("AddRegisterRegFlags"); in emitRenderOpcodes()
1938 Table << MatchTable::NamedValue(2, "RegState::Define"); in emitRenderOpcodes()
1940 Table << MatchTable::IntValue(2, 0); in emitRenderOpcodes()
1941 Table << MatchTable::LineBreak; in emitRenderOpcodes()
1946 void TempRegRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1951 Table << MatchTable::Opcode("GIR_AddTempSubRegister"); in emitRenderOpcodes()
1953 Table << MatchTable::Opcode(NeedsFlags ? "GIR_AddTempRegister" in emitRenderOpcodes()
1956 Table << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitRenderOpcodes()
1957 << MatchTable::Comment("TempRegID") in emitRenderOpcodes()
1958 << MatchTable::ULEB128Value(TempRegID); in emitRenderOpcodes()
1961 Table << MatchTable::LineBreak; in emitRenderOpcodes()
1965 Table << MatchTable::Comment("TempRegFlags"); in emitRenderOpcodes()
1971 Table << MatchTable::NamedValue(2, RegFlags); in emitRenderOpcodes()
1973 Table << MatchTable::IntValue(2, 0); in emitRenderOpcodes()
1976 Table << MatchTable::NamedValue(2, SubRegIdx->getQualifiedName()); in emitRenderOpcodes()
1977 Table << MatchTable::LineBreak; in emitRenderOpcodes()
1982 void ImmRenderer::emitAddImm(MatchTable &Table, RuleMatcher &RM, in emitAddImm()
1986 Table << MatchTable::Opcode(IsInt8 ? "GIR_AddImm8" : "GIR_AddImm") in emitAddImm()
1987 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitAddImm()
1988 << MatchTable::Comment(ImmName) in emitAddImm()
1989 << MatchTable::IntValue(IsInt8 ? 1 : 8, Imm) << MatchTable::LineBreak; in emitAddImm()
1992 void ImmRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
1997 Table << MatchTable::Opcode("GIR_AddCImm") << MatchTable::Comment("InsnID") in emitRenderOpcodes()
1998 << MatchTable::ULEB128Value(InsnID) << MatchTable::Comment("Type") in emitRenderOpcodes()
1999 << *CImmLLT << MatchTable::Comment("Imm") in emitRenderOpcodes()
2000 << MatchTable::IntValue(8, Imm) << MatchTable::LineBreak; in emitRenderOpcodes()
2007 void SubRegIndexRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
2015 void RenderComplexPatternOperand::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
2017 Table << MatchTable::Opcode( in emitRenderOpcodes()
2021 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitRenderOpcodes()
2022 << MatchTable::Comment("RendererID") in emitRenderOpcodes()
2023 << MatchTable::IntValue(2, RendererID); in emitRenderOpcodes()
2025 Table << MatchTable::Comment("SubOperand") in emitRenderOpcodes()
2026 << MatchTable::ULEB128Value(*SubOperand); in emitRenderOpcodes()
2028 Table << MatchTable::Comment("SubRegIdx") in emitRenderOpcodes()
2029 << MatchTable::IntValue(2, SubReg->EnumValue); in emitRenderOpcodes()
2030 Table << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2035 void CustomRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
2039 Table << MatchTable::Opcode("GIR_CustomRenderer") in emitRenderOpcodes()
2040 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitRenderOpcodes()
2041 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2042 << MatchTable::ULEB128Value(OldInsnVarID) in emitRenderOpcodes()
2043 << MatchTable::Comment("Renderer") in emitRenderOpcodes()
2044 << MatchTable::NamedValue( in emitRenderOpcodes()
2046 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2051 void CustomOperandRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes()
2054 Table << MatchTable::Opcode("GIR_CustomOperandRenderer") in emitRenderOpcodes()
2055 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitRenderOpcodes()
2056 << MatchTable::Comment("OldInsnID") in emitRenderOpcodes()
2057 << MatchTable::ULEB128Value(OpdMatcher.getInsnVarID()) in emitRenderOpcodes()
2058 << MatchTable::Comment("OpIdx") in emitRenderOpcodes()
2059 << MatchTable::ULEB128Value(OpdMatcher.getOpIdx()) in emitRenderOpcodes()
2060 << MatchTable::Comment("OperandRenderer") in emitRenderOpcodes()
2061 << MatchTable::NamedValue( in emitRenderOpcodes()
2063 << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2068 void CustomCXXAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes()
2070 Table << MatchTable::Opcode("GIR_CustomAction") in emitActionOpcodes()
2071 << MatchTable::NamedValue(2, FnEnumName) << MatchTable::LineBreak; in emitActionOpcodes()
2109 void BuildMIAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes()
2113 Table << MatchTable::Opcode("GIR_CopyMIFlags") in emitActionOpcodes()
2114 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2115 << MatchTable::Comment("OldInsnID") in emitActionOpcodes()
2116 << MatchTable::ULEB128Value(IM->getInsnVarID()) in emitActionOpcodes()
2117 << MatchTable::LineBreak; in emitActionOpcodes()
2121 Table << MatchTable::Opcode("GIR_SetMIFlags") in emitActionOpcodes()
2122 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2123 << MatchTable::NamedValue(4, join(SetFlags, " | ")) in emitActionOpcodes()
2124 << MatchTable::LineBreak; in emitActionOpcodes()
2128 Table << MatchTable::Opcode("GIR_UnsetMIFlags") in emitActionOpcodes()
2129 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2130 << MatchTable::NamedValue(4, join(UnsetFlags, " | ")) in emitActionOpcodes()
2131 << MatchTable::LineBreak; in emitActionOpcodes()
2140 Table << MatchTable::Opcode("GIR_MutateOpcode") in emitActionOpcodes()
2141 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2142 << MatchTable::Comment("RecycleInsnID") in emitActionOpcodes()
2143 << MatchTable::ULEB128Value(RecycleInsnID) in emitActionOpcodes()
2144 << MatchTable::Comment("Opcode") in emitActionOpcodes()
2145 << MatchTable::NamedValue(2, I->Namespace, I->TheDef->getName()) in emitActionOpcodes()
2146 << MatchTable::LineBreak; in emitActionOpcodes()
2154 Table << MatchTable::Opcode("GIR_AddImplicitDef") in emitActionOpcodes()
2155 << MatchTable::Comment("InsnID") in emitActionOpcodes()
2156 << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2157 << MatchTable::NamedValue(2, Namespace, Def->getName()) in emitActionOpcodes()
2158 << (IsDead ? MatchTable::NamedValue(2, "RegState", "Dead") in emitActionOpcodes()
2159 : MatchTable::IntValue(2, 0)) in emitActionOpcodes()
2160 << MatchTable::LineBreak; in emitActionOpcodes()
2166 Table << MatchTable::Opcode("GIR_AddImplicitUse") in emitActionOpcodes()
2167 << MatchTable::Comment("InsnID") in emitActionOpcodes()
2168 << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2169 << MatchTable::NamedValue(2, Namespace, Use->getName()) in emitActionOpcodes()
2170 << MatchTable::LineBreak; in emitActionOpcodes()
2184 Table << MatchTable::Opcode("GIR_BuildMI") << MatchTable::Comment("InsnID") in emitActionOpcodes()
2185 << MatchTable::ULEB128Value(InsnID) << MatchTable::Comment("Opcode") in emitActionOpcodes()
2186 << MatchTable::NamedValue(2, I->Namespace, I->TheDef->getName()) in emitActionOpcodes()
2187 << MatchTable::LineBreak; in emitActionOpcodes()
2196 << MatchTable::Opcode("GIR_SetImplicitDefDead") in emitActionOpcodes()
2197 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2198 << MatchTable::Comment( in emitActionOpcodes()
2200 << MatchTable::ULEB128Value(OpIdx) << MatchTable::LineBreak; in emitActionOpcodes()
2218 Table << MatchTable::Opcode("GIR_MergeMemOperands") in emitActionOpcodes()
2219 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2220 << MatchTable::Comment("NumInsns") in emitActionOpcodes()
2221 << MatchTable::IntValue(1, MergeInsnIDs.size()) in emitActionOpcodes()
2222 << MatchTable::Comment("MergeInsnID's"); in emitActionOpcodes()
2224 Table << MatchTable::ULEB128Value(MergeInsnID); in emitActionOpcodes()
2225 Table << MatchTable::LineBreak; in emitActionOpcodes()
2233 void BuildConstantAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes()
2235 Table << MatchTable::Opcode("GIR_BuildConstant") in emitActionOpcodes()
2236 << MatchTable::Comment("TempRegID") in emitActionOpcodes()
2237 << MatchTable::ULEB128Value(TempRegID) << MatchTable::Comment("Val") in emitActionOpcodes()
2238 << MatchTable::IntValue(8, Val) << MatchTable::LineBreak; in emitActionOpcodes()
2243 void EraseInstAction::emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule, in emitActionOpcodes()
2249 Table << MatchTable::Opcode("GIR_EraseFromParent") in emitActionOpcodes()
2250 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2251 << MatchTable::LineBreak; in emitActionOpcodes()
2254 void EraseInstAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes()
2261 void ReplaceRegAction::emitAdditionalPredicates(MatchTable &Table, in emitAdditionalPredicates()
2266 Table << MatchTable::Opcode("GIM_CheckCanReplaceReg") in emitAdditionalPredicates()
2267 << MatchTable::Comment("OldInsnID") in emitAdditionalPredicates()
2268 << MatchTable::ULEB128Value(OldInsnID) in emitAdditionalPredicates()
2269 << MatchTable::Comment("OldOpIdx") << MatchTable::ULEB128Value(OldOpIdx) in emitAdditionalPredicates()
2270 << MatchTable::Comment("NewInsnId") in emitAdditionalPredicates()
2271 << MatchTable::ULEB128Value(NewInsnId) in emitAdditionalPredicates()
2272 << MatchTable::Comment("NewOpIdx") << MatchTable::ULEB128Value(NewOpIdx) in emitAdditionalPredicates()
2273 << MatchTable::LineBreak; in emitAdditionalPredicates()
2276 void ReplaceRegAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes()
2279 Table << MatchTable::Opcode("GIR_ReplaceRegWithTempReg") in emitActionOpcodes()
2280 << MatchTable::Comment("OldInsnID") in emitActionOpcodes()
2281 << MatchTable::ULEB128Value(OldInsnID) in emitActionOpcodes()
2282 << MatchTable::Comment("OldOpIdx") in emitActionOpcodes()
2283 << MatchTable::ULEB128Value(OldOpIdx) in emitActionOpcodes()
2284 << MatchTable::Comment("TempRegID") in emitActionOpcodes()
2285 << MatchTable::ULEB128Value(TempRegID) << MatchTable::LineBreak; in emitActionOpcodes()
2287 Table << MatchTable::Opcode("GIR_ReplaceReg") in emitActionOpcodes()
2288 << MatchTable::Comment("OldInsnID") in emitActionOpcodes()
2289 << MatchTable::ULEB128Value(OldInsnID) in emitActionOpcodes()
2290 << MatchTable::Comment("OldOpIdx") in emitActionOpcodes()
2291 << MatchTable::ULEB128Value(OldOpIdx) in emitActionOpcodes()
2292 << MatchTable::Comment("NewInsnId") in emitActionOpcodes()
2293 << MatchTable::ULEB128Value(NewInsnId) in emitActionOpcodes()
2294 << MatchTable::Comment("NewOpIdx") in emitActionOpcodes()
2295 << MatchTable::ULEB128Value(NewOpIdx) << MatchTable::LineBreak; in emitActionOpcodes()
2302 MatchTable &Table, RuleMatcher &Rule) const { in emitActionOpcodes()
2303 Table << MatchTable::Opcode("GIR_ConstrainOperandRC") in emitActionOpcodes()
2304 << MatchTable::Comment("InsnID") << MatchTable::ULEB128Value(InsnID) in emitActionOpcodes()
2305 << MatchTable::Comment("Op") << MatchTable::ULEB128Value(OpIdx) in emitActionOpcodes()
2306 << MatchTable::NamedValue(2, RC.getQualifiedIdName()) in emitActionOpcodes()
2307 << MatchTable::LineBreak; in emitActionOpcodes()
2312 void MakeTempRegisterAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes()
2314 Table << MatchTable::Opcode("GIR_MakeTempReg") in emitActionOpcodes()
2315 << MatchTable::Comment("TempRegID") in emitActionOpcodes()
2316 << MatchTable::ULEB128Value(TempRegID) << MatchTable::Comment("TypeID") in emitActionOpcodes()
2317 << Ty << MatchTable::LineBreak; in emitActionOpcodes()