reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

utils/TableGen/AsmWriterEmitter.cpp
  762   O << "\n#ifdef PRINT_ALIAS_INSTR\n";
  763   O << "#undef PRINT_ALIAS_INSTR\n\n";
 1025     O << HeaderO.str();
 1026     O << "  return false;\n";
 1027     O << "}\n\n";
 1028     O << "#endif // PRINT_ALIAS_INSTR\n";
 1033     O << "static bool " << Target.getName() << ClassName
 1038   O << HeaderO.str();
 1039   O.indent(2) << "const char *AsmString;\n";
 1040   O.indent(2) << "switch (MI->getOpcode()) {\n";
 1041   O.indent(2) << "default: return false;\n";
 1042   O << CasesO.str();
 1043   O.indent(2) << "}\n\n";
 1047   O << "  unsigned I = 0;\n";
 1048   O << "  while (AsmString[I] != ' ' && AsmString[I] != '\\t' &&\n";
 1049   O << "         AsmString[I] != '$' && AsmString[I] != '\\0')\n";
 1050   O << "    ++I;\n";
 1051   O << "  OS << '\\t' << StringRef(AsmString, I);\n";
 1053   O << "  if (AsmString[I] != '\\0') {\n";
 1054   O << "    if (AsmString[I] == ' ' || AsmString[I] == '\\t') {\n";
 1055   O << "      OS << '\\t';\n";
 1056   O << "      ++I;\n";
 1057   O << "    }\n";
 1058   O << "    do {\n";
 1059   O << "      if (AsmString[I] == '$') {\n";
 1060   O << "        ++I;\n";
 1061   O << "        if (AsmString[I] == (char)0xff) {\n";
 1062   O << "          ++I;\n";
 1063   O << "          int OpIdx = AsmString[I++] - 1;\n";
 1064   O << "          int PrintMethodIdx = AsmString[I++] - 1;\n";
 1065   O << "          printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, ";
 1066   O << (PassSubtarget ? "STI, " : "");
 1067   O << "OS);\n";
 1068   O << "        } else\n";
 1069   O << "          printOperand(MI, unsigned(AsmString[I++]) - 1, ";
 1070   O << (PassSubtarget ? "STI, " : "");
 1071   O << "OS);\n";
 1072   O << "      } else {\n";
 1073   O << "        OS << AsmString[I++];\n";
 1074   O << "      }\n";
 1075   O << "    } while (AsmString[I] != '\\0');\n";
 1076   O << "  }\n\n";
 1078   O << "  return true;\n";
 1079   O << "}\n\n";
 1085   O << "void " << Target.getName() << ClassName << "::"
 1092     O << "  llvm_unreachable(\"Unknown PrintMethod kind\");\n";
 1094     O << "  switch (PrintMethodIdx) {\n"
 1100       O << "  case " << i << ":\n"
 1105     O << "  }\n";
 1107   O << "}\n\n";
 1110     O << "static bool " << Target.getName() << ClassName
 1122         O << "  case " << i + 1 << ": {\n"
 1128     O << "  }\n"
 1132   O << "#endif // PRINT_ALIAS_INSTR\n";