reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
513 emitSourceFileHeader("Target Instruction Enum Values and Descriptors", OS); 514 emitEnums(OS); 516 OS << "#ifdef GET_INSTRINFO_MC_DESC\n"; 517 OS << "#undef GET_INSTRINFO_MC_DESC\n"; 519 OS << "namespace llvm {\n\n"; 535 if (!IL) PrintDefList(Uses, IL = ++ListNumber, OS); 540 if (!IL) PrintDefList(Defs, IL = ++ListNumber, OS); 547 EmitOperandInfo(OS, OperandInfoIDs); 551 OS << "\nextern const MCInstrDesc " << TargetName << "Insts[] = {\n"; 561 emitRecord(*Inst, Num++, InstrInfo, EmittedLists, OperandInfoIDs, OS); 563 OS << "};\n\n"; 567 OS << "extern const char " << TargetName << "InstrNameData[] = {\n"; 568 InstrNames.emit(OS, printChar); 569 OS << "};\n\n"; 571 OS << "extern const unsigned " << TargetName <<"InstrNameIndices[] = {"; 576 OS << "\n "; 577 OS << InstrNames.get(Inst->TheDef->getName()) << "U, "; 581 OS << "\n};\n\n"; 584 OS << "static inline void Init" << TargetName 586 OS << " II->InitMCInstrInfo(" << TargetName << "Insts, " 590 OS << "} // end namespace llvm\n"; 592 OS << "#endif // GET_INSTRINFO_MC_DESC\n\n"; 595 OS << "#ifdef GET_INSTRINFO_HEADER\n"; 596 OS << "#undef GET_INSTRINFO_HEADER\n"; 599 OS << "namespace llvm {\n"; 600 OS << "struct " << ClassName << " : public TargetInstrInfo {\n" 606 OS << "\n};\n} // end namespace llvm\n"; 608 OS << "#endif // GET_INSTRINFO_HEADER\n\n"; 610 OS << "#ifdef GET_INSTRINFO_HELPER_DECLS\n"; 611 OS << "#undef GET_INSTRINFO_HELPER_DECLS\n\n"; 612 emitTIIHelperMethods(OS, TargetName, /* ExpandDefintion = */false); 613 OS << "\n"; 614 OS << "#endif // GET_INSTRINFO_HELPER_DECLS\n\n"; 616 OS << "#ifdef GET_INSTRINFO_HELPERS\n"; 617 OS << "#undef GET_INSTRINFO_HELPERS\n\n"; 618 emitTIIHelperMethods(OS, TargetName, /* ExpandDefintion = */true); 619 OS << "#endif // GET_INSTRINFO_HELPERS\n\n"; 621 OS << "#ifdef GET_INSTRINFO_CTOR_DTOR\n"; 622 OS << "#undef GET_INSTRINFO_CTOR_DTOR\n"; 624 OS << "namespace llvm {\n"; 625 OS << "extern const MCInstrDesc " << TargetName << "Insts[];\n"; 626 OS << "extern const unsigned " << TargetName << "InstrNameIndices[];\n"; 627 OS << "extern const char " << TargetName << "InstrNameData[];\n"; 628 OS << ClassName << "::" << ClassName 634 OS << "} // end namespace llvm\n"; 636 OS << "#endif // GET_INSTRINFO_CTOR_DTOR\n\n"; 638 emitOperandNameMappings(OS, Target, NumberedInstructions); 640 emitOperandTypeMappings(OS, Target, NumberedInstructions); 642 emitMCIIHelperMethods(OS, TargetName);