Changes in directory llvm/utils/TableGen:
InstrInfoEmitter.cpp updated: 1.38 -> 1.39 --- Log message: Put instruction names into the first non TargetInstrInfo namespace found. --- Diffs of the changes: (+18 -10) InstrInfoEmitter.cpp | 28 ++++++++++++++++++---------- 1 files changed, 18 insertions(+), 10 deletions(-) Index: llvm/utils/TableGen/InstrInfoEmitter.cpp diff -u llvm/utils/TableGen/InstrInfoEmitter.cpp:1.38 llvm/utils/TableGen/InstrInfoEmitter.cpp:1.39 --- llvm/utils/TableGen/InstrInfoEmitter.cpp:1.38 Mon May 1 04:30:17 2006 +++ llvm/utils/TableGen/InstrInfoEmitter.cpp Mon May 1 18:46:16 2006 @@ -28,23 +28,31 @@ // We must emit the PHI opcode first... Record *InstrInfo = Target.getInstructionSet(); - std::string Namespace = Target.inst_begin()->second.Namespace; - - if (!Namespace.empty()) - OS << "namespace " << Namespace << " {\n"; - OS << " enum {\n"; + std::string Namespace; + for (CodeGenTarget::inst_iterator II = Target.inst_begin(), + E = Target.inst_end(); II != E; ++II) { + if (II->second.Namespace != "TargetInstrInfo") { + Namespace = II->second.Namespace; + break; + } + } + + if (Namespace.empty()) { + std::cerr << "No instructions defined!\n"; + exit(1); + } std::vector<const CodeGenInstruction*> NumberedInstructions; Target.getInstructionsByEnumValue(NumberedInstructions); + OS << "namespace " << Namespace << " {\n"; + OS << " enum {\n"; for (unsigned i = 0, e = NumberedInstructions.size(); i != e; ++i) { OS << " " << NumberedInstructions[i]->TheDef->getName() - << ", \t// " << i << "\n"; + << "\t= " << i << ",\n"; } - OS << " INSTRUCTION_LIST_END\n"; - OS << " };\n"; - if (!Namespace.empty()) - OS << "}\n"; + OS << " INSTRUCTION_LIST_END = " << NumberedInstructions.size() << "\n"; + OS << " };\n}\n"; OS << "} // End llvm namespace \n"; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits