Lines Matching refs:Table

164                             const MatchTable &Table) const {  in emit()
179 OS << ": @" << Table.getLabelIndex(LabelID); in emit()
188 OS << getEncodedEmitStr(llvm::to_string(Table.getLabelIndex(LabelID)), in emit()
333 MatchTable Table(WithCoverage, IsCombiner); in buildTable() local
335 Rule->emit(Table); in buildTable()
337 return Table << MatchTable::Opcode("GIM_Reject") << MatchTable::LineBreak; in buildTable()
505 void GroupMatcher::emit(MatchTable &Table) { in emit() argument
508 LabelID = Table.allocateLabelID(); in emit()
509 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
515 Table, *static_cast<RuleMatcher *>(*Matchers.begin())); in emit()
518 M->emit(Table); in emit()
522 Table << MatchTable::Opcode("GIM_Reject", -1) << MatchTable::LineBreak in emit()
622 MatchTable &Table) { in emitPredicateSpecificOpcodes() argument
626 Table << MatchTable::Opcode("GIM_SwitchOpcode") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
631 Table << MatchTable::Opcode("GIM_SwitchType") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
642 void SwitchMatcher::emit(MatchTable &Table) { in emit() argument
651 [&Table]() { return Table.allocateLabelID(); }); in emit()
652 const unsigned Default = Table.allocateLabelID(); in emit()
657 emitPredicateSpecificOpcodes(*Condition, Table); in emit()
659 Table << MatchTable::Comment("[") << MatchTable::IntValue(2, LowerBound) 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()
676 Matchers[I]->emit(Table); 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() argument
940 unsigned LabelID = Table.allocateLabelID(); in emit()
941 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
948 Table << MatchTable::Opcode("GIM_CheckFeatures") in emit()
956 Table << MatchTable::Opcode("GIM_CheckSimplePredicate") in emit()
961 Matchers.front()->emitPredicateOpcodes(Table, *this); in emit()
965 MA->emitAdditionalPredicates(Table, *this); in emit()
983 Table << MatchTable::Opcode("GIM_CheckIsSafeToFold") in emit()
1025 PM->emitPredicateOpcodes(Table, *this); in emit()
1028 MA->emitActionOpcodes(Table, *this); in emit()
1030 assert((Table.isWithCoverage() ? !Table.isCombiner() : true) && in emit()
1032 if (Table.isWithCoverage()) in emit()
1033 Table << MatchTable::Opcode("GIR_Coverage") in emit()
1035 else if (!Table.isCombiner()) in emit()
1036 Table << MatchTable::Comment(("GIR_Coverage, " + Twine(RuleID) + ",").str()) in emit()
1039 Table << MatchTable::Opcode("GIR_Done", -1) << MatchTable::LineBreak in emit()
1111 void SameOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1117 Table << MatchTable::Opcode(IgnoreCopies in emitPredicateOpcodes()
1146 void LLTOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1148 Table << MatchTable::Opcode("GIM_CheckType") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1156 void PointerToAnyOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1158 Table << MatchTable::Opcode("GIM_CheckPointerToAny") in emitPredicateOpcodes()
1167 void RecordNamedOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1169 Table << MatchTable::Opcode("GIM_RecordNamedOperand") in emitPredicateOpcodes()
1178 void RecordRegisterType::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1181 Table << MatchTable::Opcode("GIM_RecordRegType") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1190 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
1192 Table << MatchTable::Opcode("GIM_CheckComplexPattern") in emitPredicateOpcodes()
1211 void RegisterBankOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1213 Table << MatchTable::Opcode("GIM_CheckRegBankForClass") in emitPredicateOpcodes()
1223 void MBBOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1225 Table << MatchTable::Opcode("GIM_CheckIsMBB") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1232 void ImmOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1234 Table << MatchTable::Opcode("GIM_CheckIsImm") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1241 void ConstantIntOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1244 Table << MatchTable::Opcode(IsInt8 ? "GIM_CheckConstantInt8" in emitPredicateOpcodes()
1253 void LiteralIntOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1255 Table << MatchTable::Opcode("GIM_CheckLiteralInt") in emitPredicateOpcodes()
1263 void CmpPredicateOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1265 Table << MatchTable::Opcode("GIM_CheckCmpPredicate") in emitPredicateOpcodes()
1275 void IntrinsicIDOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1277 Table << MatchTable::Opcode("GIM_CheckIntrinsicID") in emitPredicateOpcodes()
1286 void OperandImmPredicateMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1288 Table << MatchTable::Opcode("GIM_CheckImmOperandPredicate") in emitPredicateOpcodes()
1317 void OperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1327 Table << MatchTable::Comment(Comment) << MatchTable::LineBreak; in emitPredicateOpcodes()
1330 emitPredicateListOpcodes(Table, Rule); in emitPredicateOpcodes()
1418 void InstructionOpcodeMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1422 Table << MatchTable::Opcode(CheckType) << MatchTable::Comment("MI") in emitPredicateOpcodes()
1426 Table << getInstValue(I); in emitPredicateOpcodes()
1427 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
1468 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
1469 Table << MatchTable::Opcode("GIM_CheckNumOperands") in emitPredicateOpcodes()
1486 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
1487 Table << MatchTable::Opcode(getMatchOpcodeForImmPredicate(Predicate)) in emitPredicateOpcodes()
1505 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
1513 Table << MatchTable::Opcode(Opcode) << MatchTable::Comment("MI") in emitPredicateOpcodes()
1522 void MemorySizePredicateMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1524 Table << MatchTable::Opcode("GIM_CheckMemorySizeEqualTo") in emitPredicateOpcodes()
1542 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
1543 Table << MatchTable::Opcode("GIM_CheckMemoryAddressSpace") 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() argument
1568 Table << MatchTable::Opcode("GIM_CheckMemoryAlignment") in emitPredicateOpcodes()
1586 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
1587 Table << MatchTable::Opcode( in emitPredicateOpcodes()
1600 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
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() argument
1625 Table << MatchTable::Opcode("GIM_CheckCxxInsnPredicate") in emitPredicateOpcodes()
1643 MatchTable &Table, RuleMatcher &Rule) const { in emitPredicateOpcodes() argument
1644 Table << MatchTable::Opcode(CheckNot ? "GIM_MIFlagsNot" : "GIM_MIFlags") in emitPredicateOpcodes()
1683 void InstructionMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1687 .emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
1692 [](const PredicateMatcher &P) { return !P.dependsOnOperands(); }, Table, in emitPredicateOpcodes()
1697 Operand->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
1702 [](const PredicateMatcher &P) { return P.dependsOnOperands(); }, Table, in emitPredicateOpcodes()
1785 void InstructionOperandMatcher::emitCaptureOpcodes(MatchTable &Table, in emitCaptureOpcodes() argument
1789 Table << MatchTable::Opcode(IgnoreCopies ? "GIM_RecordInsnIgnoreCopies" in emitCaptureOpcodes()
1819 void CopyRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1823 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1834 void CopyPhysRegRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1838 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
1849 void CopyOrAddZeroRegRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1853 Table << MatchTable::Opcode("GIR_CopyOrAddZeroReg") in emitRenderOpcodes()
1871 void CopyConstantAsImmRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1875 Table << MatchTable::Opcode(Signed ? "GIR_CopyConstantAsSImm" in emitRenderOpcodes()
1886 void CopyFConstantAsFPImmRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1890 Table << MatchTable::Opcode("GIR_CopyFConstantAsFPImm") in emitRenderOpcodes()
1900 void CopySubRegRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1904 Table << MatchTable::Opcode("GIR_CopySubReg") in emitRenderOpcodes()
1918 void AddRegisterRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1920 Table << MatchTable::Opcode("GIR_AddRegister") 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() argument
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()
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() argument
1986 Table << MatchTable::Opcode(IsInt8 ? "GIR_AddImm8" : "GIR_AddImm") in emitAddImm()
1992 void ImmRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
1995 assert(Table.isCombiner() && in emitRenderOpcodes()
1997 Table << MatchTable::Opcode("GIR_AddCImm") << MatchTable::Comment("InsnID") in emitRenderOpcodes()
2002 emitAddImm(Table, Rule, InsnID, Imm); in emitRenderOpcodes()
2007 void SubRegIndexRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
2009 ImmRenderer::emitAddImm(Table, Rule, InsnID, SubRegIdx->EnumValue, in emitRenderOpcodes()
2015 void RenderComplexPatternOperand::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
2017 Table << MatchTable::Opcode( in emitRenderOpcodes()
2025 Table << MatchTable::Comment("SubOperand") in emitRenderOpcodes()
2028 Table << MatchTable::Comment("SubRegIdx") in emitRenderOpcodes()
2030 Table << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2035 void CustomRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
2039 Table << MatchTable::Opcode("GIR_CustomRenderer") in emitRenderOpcodes()
2051 void CustomOperandRenderer::emitRenderOpcodes(MatchTable &Table, in emitRenderOpcodes() argument
2054 Table << MatchTable::Opcode("GIR_CustomOperandRenderer") in emitRenderOpcodes()
2068 void CustomCXXAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes() argument
2070 Table << MatchTable::Opcode("GIR_CustomAction") in emitActionOpcodes()
2109 void BuildMIAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes() argument
2113 Table << MatchTable::Opcode("GIR_CopyMIFlags") in emitActionOpcodes()
2121 Table << MatchTable::Opcode("GIR_SetMIFlags") in emitActionOpcodes()
2128 Table << MatchTable::Opcode("GIR_UnsetMIFlags") in emitActionOpcodes()
2140 Table << MatchTable::Opcode("GIR_MutateOpcode") in emitActionOpcodes()
2154 Table << MatchTable::Opcode("GIR_AddImplicitDef") in emitActionOpcodes()
2166 Table << MatchTable::Opcode("GIR_AddImplicitUse") in emitActionOpcodes()
2184 Table << MatchTable::Opcode("GIR_BuildMI") << MatchTable::Comment("InsnID") in emitActionOpcodes()
2189 Renderer->emitRenderOpcodes(Table, Rule); in emitActionOpcodes()
2195 Table in emitActionOpcodes()
2218 Table << MatchTable::Opcode("GIR_MergeMemOperands") in emitActionOpcodes()
2224 Table << MatchTable::ULEB128Value(MergeInsnID); in emitActionOpcodes()
2225 Table << MatchTable::LineBreak; in emitActionOpcodes()
2233 void BuildConstantAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes() argument
2235 Table << MatchTable::Opcode("GIR_BuildConstant") in emitActionOpcodes()
2243 void EraseInstAction::emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule, in emitActionOpcodes() argument
2249 Table << MatchTable::Opcode("GIR_EraseFromParent") in emitActionOpcodes()
2254 void EraseInstAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes() argument
2256 emitActionOpcodes(Table, Rule, InsnID); in emitActionOpcodes()
2261 void ReplaceRegAction::emitAdditionalPredicates(MatchTable &Table, in emitAdditionalPredicates() argument
2266 Table << MatchTable::Opcode("GIM_CheckCanReplaceReg") in emitAdditionalPredicates()
2276 void ReplaceRegAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes() argument
2279 Table << MatchTable::Opcode("GIR_ReplaceRegWithTempReg") in emitActionOpcodes()
2287 Table << MatchTable::Opcode("GIR_ReplaceReg") in emitActionOpcodes()
2302 MatchTable &Table, RuleMatcher &Rule) const { in emitActionOpcodes() argument
2303 Table << MatchTable::Opcode("GIR_ConstrainOperandRC") in emitActionOpcodes()
2312 void MakeTempRegisterAction::emitActionOpcodes(MatchTable &Table, in emitActionOpcodes() argument
2314 Table << MatchTable::Opcode("GIR_MakeTempReg") in emitActionOpcodes()