Lines Matching refs:OS
90 unsigned StartIdx, raw_ostream &OS);
92 unsigned SizeMatcherList(Matcher *N, raw_ostream &OS);
94 void EmitPredicateFunctions(raw_ostream &OS);
96 void EmitHistogram(const Matcher *N, raw_ostream &OS);
98 void EmitPatternMatchTable(raw_ostream &OS);
102 StringRef Decl, raw_ostream &OS);
104 unsigned SizeMatcher(Matcher *N, raw_ostream &OS);
107 raw_ostream &OS);
189 static unsigned EmitVBRValue(uint64_t Val, raw_ostream &OS) { in EmitVBRValue() argument
191 OS << Val << ", "; in EmitVBRValue()
198 OS << (Val&127) << "|128,"; in EmitVBRValue()
202 OS << Val; in EmitVBRValue()
204 OS << "/*" << InVal << "*/"; in EmitVBRValue()
205 OS << ", "; in EmitVBRValue()
212 static unsigned EmitSignedVBRValue(uint64_t Val, raw_ostream &OS) { in EmitSignedVBRValue() argument
218 return EmitVBRValue(Val, OS); in EmitSignedVBRValue()
245 SizeMatcherList(Matcher *N, raw_ostream &OS) { in SizeMatcherList() argument
248 Size += SizeMatcher(N, OS); in SizeMatcherList()
258 SizeMatcher(Matcher *N, raw_ostream &OS) { in SizeMatcher() argument
270 const unsigned ChildSize = SizeMatcherList(SM->getChild(i), OS); in SizeMatcher()
298 const unsigned ChildSize = SizeMatcherList(Child, OS); in SizeMatcher()
309 return EmitMatcher(N, 0, Idx, OS); in SizeMatcher()
314 static void BeginEmitFunction(raw_ostream &OS, StringRef RetType, in BeginEmitFunction() argument
316 OS << "#ifdef GET_DAGISEL_DECL\n"; in BeginEmitFunction()
317 OS << RetType << ' ' << Decl; in BeginEmitFunction()
319 OS << " override"; in BeginEmitFunction()
320 OS << ";\n" in BeginEmitFunction()
323 OS << RetType << " DAGISEL_CLASS_COLONCOLON " << Decl << "\n"; in BeginEmitFunction()
325 OS << "#if DAGISEL_INLINE\n" in BeginEmitFunction()
331 static void EndEmitFunction(raw_ostream &OS) { in EndEmitFunction() argument
332 OS << "#endif // GET_DAGISEL_BODY\n\n"; in EndEmitFunction()
335 void MatcherTableEmitter::EmitPatternMatchTable(raw_ostream &OS) { in EmitPatternMatchTable() argument
342 BeginEmitFunction(OS, "StringRef", "getPatternForIndex(unsigned Index)", in EmitPatternMatchTable()
344 OS << "{\n"; in EmitPatternMatchTable()
345 OS << "static const char *PATTERN_MATCH_TABLE[] = {\n"; in EmitPatternMatchTable()
348 OS << "\"" << It.first << "\",\n"; in EmitPatternMatchTable()
351 OS << "\n};"; in EmitPatternMatchTable()
352 OS << "\nreturn StringRef(PATTERN_MATCH_TABLE[Index]);"; in EmitPatternMatchTable()
353 OS << "\n}\n"; in EmitPatternMatchTable()
354 EndEmitFunction(OS); in EmitPatternMatchTable()
356 BeginEmitFunction(OS, "StringRef", "getIncludePathForIndex(unsigned Index)", in EmitPatternMatchTable()
358 OS << "{\n"; in EmitPatternMatchTable()
359 OS << "static const char *INCLUDE_PATH_TABLE[] = {\n"; in EmitPatternMatchTable()
362 OS << "\"" << It << "\",\n"; in EmitPatternMatchTable()
365 OS << "\n};"; in EmitPatternMatchTable()
366 OS << "\nreturn StringRef(INCLUDE_PATH_TABLE[Index]);"; in EmitPatternMatchTable()
367 OS << "\n}\n"; in EmitPatternMatchTable()
368 EndEmitFunction(OS); in EmitPatternMatchTable()
375 raw_ostream &OS) { in EmitMatcher() argument
376 OS.indent(Indent); in EmitMatcher()
386 OS << "OPC_Scope, "; in EmitMatcher()
390 OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/"; in EmitMatcher()
391 OS.indent(Indent) << "/*Scope*/ "; in EmitMatcher()
393 OS.indent(Indent); in EmitMatcher()
397 unsigned VBRSize = EmitVBRValue(ChildSize, OS); in EmitMatcher()
399 OS << "/*->" << CurrentIdx + VBRSize + ChildSize << "*/"; in EmitMatcher()
401 OS << " // " << SM->getNumChildren() << " children in Scope"; in EmitMatcher()
403 OS << '\n'; in EmitMatcher()
406 CurrentIdx + VBRSize, OS); in EmitMatcher()
414 OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/"; in EmitMatcher()
415 OS.indent(Indent) << "0, "; in EmitMatcher()
417 OS << "/*End of Scope*/"; in EmitMatcher()
418 OS << '\n'; in EmitMatcher()
423 OS << "OPC_RecordNode,"; in EmitMatcher()
425 OS << " // #" in EmitMatcher()
428 OS << '\n'; in EmitMatcher()
432 OS << "OPC_RecordChild" << cast<RecordChildMatcher>(N)->getChildNo() in EmitMatcher()
435 OS << " // #" in EmitMatcher()
438 OS << '\n'; in EmitMatcher()
442 OS << "OPC_RecordMemRef,\n"; in EmitMatcher()
446 OS << "OPC_CaptureGlueInput,\n"; in EmitMatcher()
452 OS << "OPC_MoveChild"; in EmitMatcher()
455 OS << ", "; in EmitMatcher()
456 OS << MCM->getChildNo() << ",\n"; in EmitMatcher()
461 OS << "OPC_MoveParent,\n"; in EmitMatcher()
465 OS << "OPC_CheckSame, " in EmitMatcher()
470 OS << "OPC_CheckChild" in EmitMatcher()
477 OS << "OPC_CheckPatternPredicate, " << getPatternPredicate(Pred) << ','; in EmitMatcher()
479 OS << " // " << Pred; in EmitMatcher()
480 OS << '\n'; in EmitMatcher()
489 OS << "OPC_CheckPredicateWithOperands, " << NumOps << "/*#Ops*/, "; in EmitMatcher()
491 OS << cast<CheckPredicateMatcher>(N)->getOperandNo(i) << ", "; in EmitMatcher()
494 OS << "OPC_CheckPredicate, "; in EmitMatcher()
497 OS << getNodePredicate(Pred) << ','; in EmitMatcher()
499 OS << " // " << Pred.getFnName(); in EmitMatcher()
500 OS << '\n'; in EmitMatcher()
505 OS << "OPC_CheckOpcode, TARGET_VAL(" in EmitMatcher()
515 OS << "OPC_SwitchOpcode "; in EmitMatcher()
518 OS << "OPC_SwitchType "; in EmitMatcher()
523 OS << "/*" << NumCases << " cases */"; in EmitMatcher()
524 OS << ", "; in EmitMatcher()
541 OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/"; in EmitMatcher()
542 OS.indent(Indent); in EmitMatcher()
544 OS << (isa<SwitchOpcodeMatcher>(N) ? in EmitMatcher()
549 CurrentIdx += EmitVBRValue(ChildSize, OS) + IdxSize; in EmitMatcher()
551 OS << "TARGET_VAL(" << SOM->getCaseOpcode(i).getEnumName() << "),"; in EmitMatcher()
553 OS << getEnumName(cast<SwitchTypeMatcher>(N)->getCaseType(i)) << ','; in EmitMatcher()
555 OS << "// ->" << CurrentIdx + ChildSize; in EmitMatcher()
556 OS << '\n'; in EmitMatcher()
558 ChildSize = EmitMatcherList(Child, Indent+1, CurrentIdx, OS); in EmitMatcher()
566 OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/"; in EmitMatcher()
567 OS.indent(Indent) << "0,"; in EmitMatcher()
569 OS << (isa<SwitchOpcodeMatcher>(N) ? in EmitMatcher()
572 OS << '\n'; in EmitMatcher()
578 OS << "OPC_CheckType, " in EmitMatcher()
582 OS << "OPC_CheckTypeRes, " << cast<CheckTypeMatcher>(N)->getResNo() in EmitMatcher()
587 OS << "OPC_CheckChild" in EmitMatcher()
593 OS << "OPC_CheckInteger, "; in EmitMatcher()
595 1 + EmitSignedVBRValue(cast<CheckIntegerMatcher>(N)->getValue(), OS); in EmitMatcher()
596 OS << '\n'; in EmitMatcher()
600 OS << "OPC_CheckChild" << cast<CheckChildIntegerMatcher>(N)->getChildNo() in EmitMatcher()
603 cast<CheckChildIntegerMatcher>(N)->getValue(), OS); in EmitMatcher()
604 OS << '\n'; in EmitMatcher()
608 OS << "OPC_CheckCondCode, ISD::" in EmitMatcher()
613 OS << "OPC_CheckChild2CondCode, ISD::" in EmitMatcher()
618 OS << "OPC_CheckValueType, MVT::" in EmitMatcher()
625 OS << "OPC_CheckComplexPat, /*CP*/" << getComplexPat(Pattern) << ", /*#*/" in EmitMatcher()
629 OS << " // " << Pattern.getSelectFunc(); in EmitMatcher()
630 OS << ":$" << CCPM->getName(); in EmitMatcher()
632 OS << " #" << CCPM->getFirstResult()+i; in EmitMatcher()
635 OS << " + chain result"; in EmitMatcher()
637 OS << '\n'; in EmitMatcher()
642 OS << "OPC_CheckAndImm, "; in EmitMatcher()
643 unsigned Bytes=1+EmitVBRValue(cast<CheckAndImmMatcher>(N)->getValue(), OS); in EmitMatcher()
644 OS << '\n'; in EmitMatcher()
649 OS << "OPC_CheckOrImm, "; in EmitMatcher()
650 unsigned Bytes = 1+EmitVBRValue(cast<CheckOrImmMatcher>(N)->getValue(), OS); in EmitMatcher()
651 OS << '\n'; in EmitMatcher()
656 OS << "OPC_CheckFoldableChainNode,\n"; in EmitMatcher()
660 OS << "OPC_CheckImmAllOnesV,\n"; in EmitMatcher()
664 OS << "OPC_CheckImmAllZerosV,\n"; in EmitMatcher()
669 OS << "OPC_EmitInteger, " in EmitMatcher()
671 unsigned Bytes = 2 + EmitSignedVBRValue(Val, OS); in EmitMatcher()
672 OS << '\n'; in EmitMatcher()
678 OS << "OPC_EmitStringInteger, " in EmitMatcher()
690 OS << "OPC_EmitRegister2, " << getEnumName(Matcher->getVT()) << ", "; in EmitMatcher()
691 OS << "TARGET_VAL(" << getQualifiedName(Reg->TheDef) << "),\n"; in EmitMatcher()
694 OS << "OPC_EmitRegister, " << getEnumName(Matcher->getVT()) << ", "; in EmitMatcher()
696 OS << getQualifiedName(Reg->TheDef) << ",\n"; in EmitMatcher()
698 OS << "0 "; in EmitMatcher()
700 OS << "/*zero_reg*/"; in EmitMatcher()
701 OS << ",\n"; in EmitMatcher()
708 OS << "OPC_EmitConvertToTarget, " in EmitMatcher()
718 OS << "OPC_EmitMergeInputChains1_" << MN->getNode(0) << ",\n"; in EmitMatcher()
722 OS << "OPC_EmitMergeInputChains, " << MN->getNumNodes() << ", "; in EmitMatcher()
724 OS << MN->getNode(i) << ", "; in EmitMatcher()
725 OS << '\n'; in EmitMatcher()
734 OS << "OPC_EmitCopyToReg2, " << C2RMatcher->getSrcSlot() << ", " in EmitMatcher()
738 OS << "OPC_EmitCopyToReg, " << C2RMatcher->getSrcSlot() << ", " in EmitMatcher()
746 OS << "OPC_EmitNodeXForm, " << getNodeXFormID(XF->getNodeXForm()) << ", " in EmitMatcher()
749 OS << " // "<<XF->getNodeXForm()->getName(); in EmitMatcher()
750 OS <<'\n'; in EmitMatcher()
760 OS << "OPC_Coverage, "; in EmitMatcher()
769 OS << "TARGET_VAL(" << Offset << "),\n"; in EmitMatcher()
770 OS.indent(FullIndexWidth + Indent); in EmitMatcher()
774 OS << (isa<EmitNodeMatcher>(EN) ? "OPC_EmitNode" : "OPC_MorphNodeTo"); in EmitMatcher()
777 OS << EN->getNumVTs(); in EmitMatcher()
779 OS << ", TARGET_VAL(" << EN->getOpcodeName() << "), 0"; in EmitMatcher()
781 if (EN->hasChain()) OS << "|OPFL_Chain"; in EmitMatcher()
782 if (EN->hasInFlag()) OS << "|OPFL_GlueInput"; in EmitMatcher()
783 if (EN->hasOutFlag()) OS << "|OPFL_GlueOutput"; in EmitMatcher()
784 if (EN->hasMemRefs()) OS << "|OPFL_MemRefs"; in EmitMatcher()
786 OS << "|OPFL_Variadic" << EN->getNumFixedArityOperands(); in EmitMatcher()
787 OS << ",\n"; in EmitMatcher()
789 OS.indent(FullIndexWidth + Indent+4); in EmitMatcher()
791 OS << EN->getNumVTs(); in EmitMatcher()
793 OS << "/*#VTs*/"; in EmitMatcher()
794 OS << ", "; in EmitMatcher()
797 OS << getEnumName(EN->getVT(i)) << ", "; in EmitMatcher()
799 OS << EN->getNumOperands(); in EmitMatcher()
801 OS << "/*#Ops*/"; in EmitMatcher()
802 OS << ", "; in EmitMatcher()
805 NumOperandBytes += EmitVBRValue(EN->getOperand(i), OS); in EmitMatcher()
811 OS << " // Results ="; in EmitMatcher()
814 OS << " #" << First+i; in EmitMatcher()
817 OS << '\n'; in EmitMatcher()
820 OS.indent(FullIndexWidth + Indent) << "// Src: " in EmitMatcher()
823 OS.indent(FullIndexWidth + Indent) << "// Dst: " in EmitMatcher()
827 OS << '\n'; in EmitMatcher()
837 OS << "OPC_Coverage, "; in EmitMatcher()
846 OS << "TARGET_VAL(" << Offset << "),\n"; in EmitMatcher()
847 OS.indent(FullIndexWidth + Indent); in EmitMatcher()
849 OS << "OPC_CompleteMatch, " << CM->getNumResults() << ", "; in EmitMatcher()
852 NumResultBytes += EmitVBRValue(CM->getResult(i), OS); in EmitMatcher()
853 OS << '\n'; in EmitMatcher()
855 OS.indent(FullIndexWidth + Indent) << " // Src: " in EmitMatcher()
858 OS.indent(FullIndexWidth + Indent) << " // Dst: " in EmitMatcher()
861 OS << '\n'; in EmitMatcher()
872 raw_ostream &OS) { in EmitMatcherList() argument
876 OS << "/*" << format_decimal(CurrentIdx, IndexWidth) << "*/"; in EmitMatcherList()
877 unsigned MatcherSize = EmitMatcher(N, Indent, CurrentIdx, OS); in EmitMatcherList()
890 raw_ostream &OS) { in EmitNodePredicatesFunction() argument
894 BeginEmitFunction(OS, "bool", Decl, true/*AddOverride*/); in EmitNodePredicatesFunction()
895 OS << "{\n"; in EmitNodePredicatesFunction()
896 OS << " switch (PredNo) {\n"; in EmitNodePredicatesFunction()
897 OS << " default: llvm_unreachable(\"Invalid predicate in table?\");\n"; in EmitNodePredicatesFunction()
904 OS << " case " << i << ": {\n"; in EmitNodePredicatesFunction()
906 OS << " // " << TreePredicateFn(SimilarPred).getFnName() << '\n'; in EmitNodePredicatesFunction()
907 OS << PredFnCodeStr << "\n }\n"; in EmitNodePredicatesFunction()
909 OS << " }\n"; in EmitNodePredicatesFunction()
910 OS << "}\n"; in EmitNodePredicatesFunction()
911 EndEmitFunction(OS); in EmitNodePredicatesFunction()
914 void MatcherTableEmitter::EmitPredicateFunctions(raw_ostream &OS) { in EmitPredicateFunctions() argument
917 BeginEmitFunction(OS, "bool", in EmitPredicateFunctions()
919 OS << "{\n"; in EmitPredicateFunctions()
920 OS << " switch (PredNo) {\n"; in EmitPredicateFunctions()
921 OS << " default: llvm_unreachable(\"Invalid predicate in table?\");\n"; in EmitPredicateFunctions()
923 OS << " case " << i << ": return " << PatternPredicates[i] << ";\n"; in EmitPredicateFunctions()
924 OS << " }\n"; in EmitPredicateFunctions()
925 OS << "}\n"; in EmitPredicateFunctions()
926 EndEmitFunction(OS); in EmitPredicateFunctions()
932 OS); in EmitPredicateFunctions()
937 OS); in EmitPredicateFunctions()
942 BeginEmitFunction(OS, "bool", in EmitPredicateFunctions()
947 OS << "{\n"; in EmitPredicateFunctions()
948 OS << " unsigned NextRes = Result.size();\n"; in EmitPredicateFunctions()
949 OS << " switch (PatternNo) {\n"; in EmitPredicateFunctions()
950 OS << " default: llvm_unreachable(\"Invalid pattern # in table?\");\n"; in EmitPredicateFunctions()
958 OS << " case " << i << ":\n"; in EmitPredicateFunctions()
960 OS << " {\n"; in EmitPredicateFunctions()
961 OS << " Result.resize(NextRes+" << NumOps << ");\n"; in EmitPredicateFunctions()
963 OS << " bool Succeeded = " << P.getSelectFunc(); in EmitPredicateFunctions()
965 OS << " return " << P.getSelectFunc(); in EmitPredicateFunctions()
967 OS << "("; in EmitPredicateFunctions()
971 OS << "Root, "; in EmitPredicateFunctions()
976 OS << "Parent, "; in EmitPredicateFunctions()
978 OS << "N"; in EmitPredicateFunctions()
980 OS << ", Result[NextRes+" << i << "].first"; in EmitPredicateFunctions()
981 OS << ");\n"; in EmitPredicateFunctions()
983 OS << " if (Succeeded)\n"; in EmitPredicateFunctions()
984 OS << " dbgs() << \"\\nCOMPLEX_PATTERN: " << P.getSelectFunc() in EmitPredicateFunctions()
986 OS << " return Succeeded;\n"; in EmitPredicateFunctions()
987 OS << " }\n"; in EmitPredicateFunctions()
990 OS << " }\n"; in EmitPredicateFunctions()
991 OS << "}\n"; in EmitPredicateFunctions()
992 EndEmitFunction(OS); in EmitPredicateFunctions()
999 BeginEmitFunction(OS, "SDValue", in EmitPredicateFunctions()
1001 OS << "{\n"; in EmitPredicateFunctions()
1002 OS << " switch (XFormNo) {\n"; in EmitPredicateFunctions()
1003 OS << " default: llvm_unreachable(\"Invalid xform # in table?\");\n"; in EmitPredicateFunctions()
1013 OS << " case " << i << ": { "; in EmitPredicateFunctions()
1015 OS << "// " << NodeXForms[i]->getName(); in EmitPredicateFunctions()
1016 OS << '\n'; in EmitPredicateFunctions()
1021 OS << " SDNode *N = V.getNode();\n"; in EmitPredicateFunctions()
1023 OS << " " << ClassName << " *N = cast<" << ClassName in EmitPredicateFunctions()
1025 OS << Code << "\n }\n"; in EmitPredicateFunctions()
1027 OS << " }\n"; in EmitPredicateFunctions()
1028 OS << "}\n"; in EmitPredicateFunctions()
1029 EndEmitFunction(OS); in EmitPredicateFunctions()
1080 raw_ostream &OS) { in EmitHistogram() argument
1084 OS << " // Opcode Histogram:\n"; in EmitHistogram()
1086 OS << " // #" in EmitHistogram()
1090 OS << '\n'; in EmitHistogram()
1096 raw_ostream &OS) { in EmitMatcherTable() argument
1097 OS << "#if defined(GET_DAGISEL_DECL) && defined(GET_DAGISEL_BODY)\n"; in EmitMatcherTable()
1098 OS << "#error GET_DAGISEL_DECL and GET_DAGISEL_BODY cannot be both defined, "; in EmitMatcherTable()
1099 OS << "undef both for inline definitions\n"; in EmitMatcherTable()
1100 OS << "#endif\n\n"; in EmitMatcherTable()
1103 OS << "#ifdef GET_DAGISEL_BODY\n"; in EmitMatcherTable()
1104 OS << "#define LOCAL_DAGISEL_STRINGIZE(X) LOCAL_DAGISEL_STRINGIZE_(X)\n"; in EmitMatcherTable()
1105 OS << "#define LOCAL_DAGISEL_STRINGIZE_(X) #X\n"; in EmitMatcherTable()
1106 OS << "static_assert(sizeof(LOCAL_DAGISEL_STRINGIZE(GET_DAGISEL_BODY)) > 1," in EmitMatcherTable()
1108 OS << " \"GET_DAGISEL_BODY is empty: it should be defined with the class " in EmitMatcherTable()
1110 OS << "#undef LOCAL_DAGISEL_STRINGIZE_\n"; in EmitMatcherTable()
1111 OS << "#undef LOCAL_DAGISEL_STRINGIZE\n"; in EmitMatcherTable()
1112 OS << "#endif\n\n"; in EmitMatcherTable()
1114 OS << "#if !defined(GET_DAGISEL_DECL) && !defined(GET_DAGISEL_BODY)\n"; in EmitMatcherTable()
1115 OS << "#define DAGISEL_INLINE 1\n"; in EmitMatcherTable()
1116 OS << "#else\n"; in EmitMatcherTable()
1117 OS << "#define DAGISEL_INLINE 0\n"; in EmitMatcherTable()
1118 OS << "#endif\n\n"; in EmitMatcherTable()
1120 OS << "#if !DAGISEL_INLINE\n"; in EmitMatcherTable()
1121 OS << "#define DAGISEL_CLASS_COLONCOLON GET_DAGISEL_BODY ::\n"; in EmitMatcherTable()
1122 OS << "#else\n"; in EmitMatcherTable()
1123 OS << "#define DAGISEL_CLASS_COLONCOLON\n"; in EmitMatcherTable()
1124 OS << "#endif\n\n"; in EmitMatcherTable()
1126 BeginEmitFunction(OS, "void", "SelectCode(SDNode *N)", false/*AddOverride*/); in EmitMatcherTable()
1140 OS << "{\n"; in EmitMatcherTable()
1141 OS << " // Some target values are emitted as 2 bytes, TARGET_VAL handles\n"; in EmitMatcherTable()
1142 OS << " // this.\n"; in EmitMatcherTable()
1143 OS << " #define TARGET_VAL(X) X & 255, unsigned(X) >> 8\n"; in EmitMatcherTable()
1144 OS << " static const unsigned char MatcherTable[] = {\n"; in EmitMatcherTable()
1145 TotalSize = MatcherEmitter.EmitMatcherList(TheMatcher, 1, 0, OS); in EmitMatcherTable()
1146 OS << " 0\n }; // Total Array size is " << (TotalSize+1) << " bytes\n\n"; in EmitMatcherTable()
1148 MatcherEmitter.EmitHistogram(TheMatcher, OS); in EmitMatcherTable()
1150 OS << " #undef TARGET_VAL\n"; in EmitMatcherTable()
1151 OS << " SelectCodeCommon(N, MatcherTable,sizeof(MatcherTable));\n"; in EmitMatcherTable()
1152 OS << "}\n"; in EmitMatcherTable()
1153 EndEmitFunction(OS); in EmitMatcherTable()
1156 MatcherEmitter.EmitPredicateFunctions(OS); in EmitMatcherTable()
1159 MatcherEmitter.EmitPatternMatchTable(OS); in EmitMatcherTable()
1162 OS << "\n"; in EmitMatcherTable()
1163 OS << "#ifdef DAGISEL_INLINE\n"; in EmitMatcherTable()
1164 OS << "#undef DAGISEL_INLINE\n"; in EmitMatcherTable()
1165 OS << "#endif\n"; in EmitMatcherTable()
1166 OS << "#ifdef DAGISEL_CLASS_COLONCOLON\n"; in EmitMatcherTable()
1167 OS << "#undef DAGISEL_CLASS_COLONCOLON\n"; in EmitMatcherTable()
1168 OS << "#endif\n"; in EmitMatcherTable()
1169 OS << "#ifdef GET_DAGISEL_DECL\n"; in EmitMatcherTable()
1170 OS << "#undef GET_DAGISEL_DECL\n"; in EmitMatcherTable()
1171 OS << "#endif\n"; in EmitMatcherTable()
1172 OS << "#ifdef GET_DAGISEL_BODY\n"; in EmitMatcherTable()
1173 OS << "#undef GET_DAGISEL_BODY\n"; in EmitMatcherTable()
1174 OS << "#endif\n"; in EmitMatcherTable()