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

References

utils/TableGen/InstrInfoEmitter.cpp
  340   OS << "#ifdef GET_INSTRINFO_OPERAND_TYPES_ENUM\n";
  341   OS << "#undef GET_INSTRINFO_OPERAND_TYPES_ENUM\n";
  342   OS << "namespace llvm {\n";
  343   OS << "namespace " << Namespace << " {\n";
  344   OS << "namespace OpTypes {\n";
  345   OS << "enum OperandType {\n";
  352         OS << "  " << Op->getName() << " = " << EnumVal << ",\n";
  357   OS << "  OPERAND_TYPE_LIST_END" << "\n};\n";
  358   OS << "} // end namespace OpTypes\n";
  359   OS << "} // end namespace " << Namespace << "\n";
  360   OS << "} // end namespace llvm\n";
  361   OS << "#endif // GET_INSTRINFO_OPERAND_TYPES_ENUM\n\n";
  363   OS << "#ifdef GET_INSTRINFO_OPERAND_TYPE\n";
  364   OS << "#undef GET_INSTRINFO_OPERAND_TYPE\n";
  365   OS << "namespace llvm {\n";
  366   OS << "namespace " << Namespace << " {\n";
  367   OS << "LLVM_READONLY\n";
  368   OS << "static int getOperandType(uint16_t Opcode, uint16_t OpIdx) {\n";
  392     OS << "  const int Offsets[] = {\n";
  394       OS << "    " << OperandOffsets[I] << ",\n";
  395     OS << "  };\n";
  400     OS << "  const int OpcodeOperandTypes[] = {\n    ";
  404         OS << "\n    ";
  407           OS << "/**/\n    ";
  414         OS << "OpTypes::" << OpR->getName();
  416         OS << -1;
  417       OS << ", ";
  419     OS << "\n  };\n";
  421     OS << "  return OpcodeOperandTypes[Offsets[Opcode] + OpIdx];\n";
  423     OS << "  llvm_unreachable(\"No instructions defined\");\n";
  425   OS << "}\n";
  426   OS << "} // end namespace " << Namespace << "\n";
  427   OS << "} // end namespace llvm\n";
  428   OS << "#endif // GET_INSTRINFO_OPERAND_TYPE\n\n";