Lines Matching refs:Table
491 const MatchTable &Table) const;
629 const MatchTable &Table) const { in emit()
640 OS << ": @" << Table.getLabelIndex(LabelID); in emit()
648 OS << Table.getLabelIndex(LabelID); in emit()
661 MatchTable &operator<<(MatchTable &Table, const MatchTableRecord &Value) { in operator <<() argument
662 Table.push_back(Value); in operator <<()
663 return Table; in operator <<()
677 virtual void emit(MatchTable &Table) = 0;
686 MatchTable Table(WithCoverage); in buildTable() local
688 Rule->emit(Table); in buildTable()
690 return Table << MatchTable::Opcode("GIM_Reject") << MatchTable::LineBreak; in buildTable()
733 void emit(MatchTable &Table) override;
788 void emit(MatchTable &Table) override;
815 MatchTable &Table);
981 void emit(MatchTable &Table) override;
1068 void emitPredicateListOpcodes(MatchTable &Table, Args &&... args) { in emitPredicateListOpcodes() argument
1070 Table << MatchTable::Comment(getNoPredicateComment()) in emitPredicateListOpcodes()
1076 Predicate->emitPredicateOpcodes(Table, std::forward<Args>(args)...); in emitPredicateListOpcodes()
1088 MatchTable &Table, Args &&... args) { in emitFilteredPredicateListOpcodes() argument
1090 Table << MatchTable::Comment(getNoPredicateComment()) in emitFilteredPredicateListOpcodes()
1097 Predicate->emitPredicateOpcodes(Table, std::forward<Args>(args)...); in emitFilteredPredicateListOpcodes()
1154 virtual void emitPredicateOpcodes(MatchTable &Table,
1225 void emitPredicateOpcodes(MatchTable &Table,
1276 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1278 Table << MatchTable::Opcode("GIM_CheckType") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1316 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1318 Table << MatchTable::Opcode("GIM_CheckPointerToAny") in emitPredicateOpcodes()
1350 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1352 Table << MatchTable::Opcode("GIM_RecordNamedOperand") in emitPredicateOpcodes()
1381 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1384 Table << MatchTable::Opcode("GIM_CheckComplexPattern") in emitPredicateOpcodes()
1416 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1418 Table << MatchTable::Opcode("GIM_CheckRegBankForClass") in emitPredicateOpcodes()
1437 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1439 Table << MatchTable::Opcode("GIM_CheckIsMBB") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1454 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1456 Table << MatchTable::Opcode("GIM_CheckIsImm") << MatchTable::Comment("MI") in emitPredicateOpcodes()
1481 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1483 Table << MatchTable::Opcode("GIM_CheckConstantInt") in emitPredicateOpcodes()
1510 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1512 Table << MatchTable::Opcode("GIM_CheckLiteralInt") in emitPredicateOpcodes()
1538 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1540 Table << MatchTable::Opcode("GIM_CheckCmpPredicate") in emitPredicateOpcodes()
1568 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1570 Table << MatchTable::Opcode("GIM_CheckIntrinsicID") in emitPredicateOpcodes()
1601 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1603 Table << MatchTable::Opcode("GIM_CheckImmOperandPredicate") in emitPredicateOpcodes()
1664 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes() argument
1673 Table << MatchTable::Comment(CommentOS.str()) << MatchTable::LineBreak; in emitPredicateOpcodes()
1676 emitPredicateListOpcodes(Table, Rule); in emitPredicateOpcodes()
1840 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1844 Table << MatchTable::Opcode(CheckType) << MatchTable::Comment("MI") in emitPredicateOpcodes()
1848 Table << getInstValue(I); in emitPredicateOpcodes()
1849 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
1916 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1918 Table << MatchTable::Opcode("GIM_CheckNumOperands") in emitPredicateOpcodes()
1972 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
1974 Table << MatchTable::Opcode(getMatchOpcodeForImmPredicate(Predicate)) in emitPredicateOpcodes()
2013 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2022 Table << MatchTable::Opcode(Opcode) << MatchTable::Comment("MI") in emitPredicateOpcodes()
2049 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2051 Table << MatchTable::Opcode("GIM_CheckMemorySizeEqualTo") in emitPredicateOpcodes()
2080 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2082 Table << MatchTable::Opcode("GIM_CheckMemoryAddressSpace") in emitPredicateOpcodes()
2089 Table << MatchTable::Comment("AddrSpace") << MatchTable::IntValue(AS); in emitPredicateOpcodes()
2091 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
2119 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2121 Table << MatchTable::Opcode("GIM_CheckMemoryAlignment") in emitPredicateOpcodes()
2161 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2163 Table << MatchTable::Opcode(Relation == EqualTo in emitPredicateOpcodes()
2199 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2202 Table << MatchTable::Opcode("GIM_CheckIsBuildVectorAllOnes"); in emitPredicateOpcodes()
2204 Table << MatchTable::Opcode("GIM_CheckIsBuildVectorAllZeros"); in emitPredicateOpcodes()
2206 Table << MatchTable::Comment("MI") << MatchTable::IntValue(InsnVarID); in emitPredicateOpcodes()
2207 Table << MatchTable::LineBreak; in emitPredicateOpcodes()
2231 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2233 Table << MatchTable::Opcode("GIM_CheckCxxInsnPredicate") in emitPredicateOpcodes()
2342 void emitPredicateOpcodes(MatchTable &Table, RuleMatcher &Rule) { in emitPredicateOpcodes() argument
2345 .emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2352 }, Table, Rule); in emitPredicateOpcodes()
2356 Operand->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2363 }, Table, Rule); in emitPredicateOpcodes()
2469 void emitCaptureOpcodes(MatchTable &Table, RuleMatcher &Rule) const { in emitCaptureOpcodes() argument
2471 Table << MatchTable::Opcode("GIM_RecordInsn") in emitCaptureOpcodes()
2480 void emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
2482 emitCaptureOpcodes(Table, Rule); in emitPredicateOpcodes()
2483 InsnMatcher->emitPredicateOpcodes(Table, Rule); in emitPredicateOpcodes()
2564 virtual void emitRenderOpcodes(MatchTable &Table,
2589 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2592 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
2620 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2623 Table << MatchTable::Opcode("GIR_Copy") << MatchTable::Comment("NewInsnID") in emitRenderOpcodes()
2656 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2659 Table << MatchTable::Opcode("GIR_CopyOrAddZeroReg") in emitRenderOpcodes()
2693 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2696 Table << MatchTable::Opcode(Signed ? "GIR_CopyConstantAsSImm" in emitRenderOpcodes()
2724 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2727 Table << MatchTable::Opcode("GIR_CopyFConstantAsFPImm") in emitRenderOpcodes()
2758 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2761 Table << MatchTable::Opcode("GIR_CopySubReg") in emitRenderOpcodes()
2791 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2792 Table << MatchTable::Opcode("GIR_AddRegister") in emitRenderOpcodes()
2795 Table << MatchTable::NamedValue( in emitRenderOpcodes()
2801 Table << MatchTable::NamedValue(Target.getRegNamespace(), "NoRegister"); in emitRenderOpcodes()
2803 Table << MatchTable::Comment("AddRegisterRegFlags"); in emitRenderOpcodes()
2809 Table << MatchTable::NamedValue("RegState::Define"); in emitRenderOpcodes()
2811 Table << MatchTable::IntValue(0); in emitRenderOpcodes()
2812 Table << MatchTable::LineBreak; in emitRenderOpcodes()
2838 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2841 Table << MatchTable::Opcode("GIR_AddTempSubRegister"); in emitRenderOpcodes()
2843 Table << MatchTable::Opcode("GIR_AddTempRegister"); in emitRenderOpcodes()
2845 Table << MatchTable::Comment("InsnID") << MatchTable::IntValue(InsnID) in emitRenderOpcodes()
2854 Table << MatchTable::NamedValue(RegFlags); in emitRenderOpcodes()
2856 Table << MatchTable::IntValue(0); in emitRenderOpcodes()
2859 Table << MatchTable::NamedValue(SubRegIdx->getQualifiedName()); in emitRenderOpcodes()
2860 Table << MatchTable::LineBreak; in emitRenderOpcodes()
2878 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2879 Table << MatchTable::Opcode("GIR_AddImm") << MatchTable::Comment("InsnID") in emitRenderOpcodes()
2899 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2900 Table << MatchTable::Opcode("GIR_AddImm") << MatchTable::Comment("InsnID") in emitRenderOpcodes()
2938 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2939 Table << MatchTable::Opcode(SubOperand.hasValue() ? "GIR_ComplexSubOperandRenderer" in emitRenderOpcodes()
2945 Table << MatchTable::Comment("SubOperand") in emitRenderOpcodes()
2947 Table << MatchTable::Comment(SymbolicName) << MatchTable::LineBreak; in emitRenderOpcodes()
2968 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
2971 Table << MatchTable::Opcode("GIR_CustomRenderer") in emitRenderOpcodes()
2999 void emitRenderOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitRenderOpcodes() argument
3001 Table << MatchTable::Opcode("GIR_CustomOperandRenderer") in emitRenderOpcodes()
3024 virtual void emitActionOpcodes(MatchTable &Table,
3036 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes() argument
3037 Table << MatchTable::Comment(S) << MatchTable::LineBreak; in emitActionOpcodes()
3096 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes() argument
3102 Table << MatchTable::Opcode("GIR_MutateOpcode") in emitActionOpcodes()
3115 Table << MatchTable::Opcode("GIR_AddImplicitDef") in emitActionOpcodes()
3124 Table << MatchTable::Opcode("GIR_AddImplicitUse") in emitActionOpcodes()
3136 Table << MatchTable::Opcode("GIR_BuildMI") << MatchTable::Comment("InsnID") in emitActionOpcodes()
3141 Renderer->emitRenderOpcodes(Table, Rule); in emitActionOpcodes()
3144 Table << MatchTable::Opcode("GIR_MergeMemOperands") in emitActionOpcodes()
3159 Table << MatchTable::IntValue(MergeInsnID); in emitActionOpcodes()
3160 Table << MatchTable::NamedValue("GIU_MergeMemOperands_EndOfList") in emitActionOpcodes()
3168 Table << MatchTable::Opcode("GIR_EraseFromParent") in emitActionOpcodes()
3182 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes() argument
3183 Table << MatchTable::Opcode("GIR_ConstrainSelectedInstOperands") in emitActionOpcodes()
3201 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes() argument
3202 Table << MatchTable::Opcode("GIR_ConstrainOperandRC") in emitActionOpcodes()
3223 void emitActionOpcodes(MatchTable &Table, RuleMatcher &Rule) const override { in emitActionOpcodes() argument
3224 Table << MatchTable::Opcode("GIR_MakeTempReg") in emitActionOpcodes()
3335 void RuleMatcher::emit(MatchTable &Table) { in emit() argument
3350 unsigned LabelID = Table.allocateLabelID(); in emit()
3351 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
3358 Table << MatchTable::Opcode("GIM_CheckFeatures") in emit()
3363 Matchers.front()->emitPredicateOpcodes(Table, *this); in emit()
3381 Table << MatchTable::Opcode("GIM_CheckIsSafeToFold") in emit()
3423 PM->emitPredicateOpcodes(Table, *this); in emit()
3426 MA->emitActionOpcodes(Table, *this); in emit()
3428 if (Table.isWithCoverage()) in emit()
3429 Table << MatchTable::Opcode("GIR_Coverage") << MatchTable::IntValue(RuleID) in emit()
3432 Table << MatchTable::Comment(("GIR_Coverage, " + Twine(RuleID) + ",").str()) in emit()
3435 Table << MatchTable::Opcode("GIR_Done", -1) << MatchTable::LineBreak in emit()
3497 void SameOperandMatcher::emitPredicateOpcodes(MatchTable &Table, in emitPredicateOpcodes() argument
3503 Table << MatchTable::Opcode("GIM_CheckIsSameOperand") in emitPredicateOpcodes()
5915 const MatchTable Table = in run() local
5919 Table.emitDeclaration(OS); in run()
5921 Table.emitUse(OS); in run()
6084 void GroupMatcher::emit(MatchTable &Table) { in emit() argument
6087 LabelID = Table.allocateLabelID(); in emit()
6088 Table << MatchTable::Opcode("GIM_Try", +1) in emit()
6094 Table, *static_cast<RuleMatcher *>(*Matchers.begin())); in emit()
6097 M->emit(Table); in emit()
6101 Table << MatchTable::Opcode("GIM_Reject", -1) << MatchTable::LineBreak in emit()
6173 MatchTable &Table) { in emitPredicateSpecificOpcodes() argument
6177 Table << MatchTable::Opcode("GIM_SwitchOpcode") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
6182 Table << MatchTable::Opcode("GIM_SwitchType") << MatchTable::Comment("MI") in emitPredicateSpecificOpcodes()
6193 void SwitchMatcher::emit(MatchTable &Table) { in emit() argument
6202 [&Table]() { return Table.allocateLabelID(); }); in emit()
6203 const unsigned Default = Table.allocateLabelID(); in emit()
6208 emitPredicateSpecificOpcodes(*Condition, Table); in emit()
6210 Table << MatchTable::Comment("[") << MatchTable::IntValue(LowerBound) in emit()
6219 Table << MatchTable::IntValue(0); in emit()
6221 Table << MatchTable::LineBreak << V << MatchTable::JumpTarget(LabelIDs[I]); in emit()
6223 Table << MatchTable::LineBreak; in emit()
6226 Table << MatchTable::Label(LabelIDs[I]); in emit()
6227 Matchers[I]->emit(Table); in emit()
6228 Table << MatchTable::Opcode("GIM_Reject") << MatchTable::LineBreak; in emit()
6230 Table << MatchTable::Label(Default); in emit()