Skip to content

Commit 2ed36e4

Browse files
committed
[NFC] Emit nested namespaces in InstInfoEmitter
1 parent 25825d4 commit 2ed36e4

File tree

1 file changed

+27
-62
lines changed

1 file changed

+27
-62
lines changed

llvm/utils/TableGen/InstrInfoEmitter.cpp

Lines changed: 27 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,6 @@ void InstrInfoEmitter::emitOperandNameMappings(
283283
raw_ostream &OS, const CodeGenTarget &Target,
284284
ArrayRef<const CodeGenInstruction *> NumberedInstructions) {
285285
StringRef Namespace = Target.getInstNamespace();
286-
std::string OpNameNS = "OpName";
287286
// Map of operand names to their enumeration value. This will be used to
288287
// generate the OpName enum.
289288
std::map<std::string, unsigned> Operands;
@@ -293,24 +292,19 @@ void InstrInfoEmitter::emitOperandNameMappings(
293292

294293
OS << "#ifdef GET_INSTRINFO_OPERAND_ENUM\n";
295294
OS << "#undef GET_INSTRINFO_OPERAND_ENUM\n";
296-
OS << "namespace llvm {\n";
297-
OS << "namespace " << Namespace << " {\n";
298-
OS << "namespace " << OpNameNS << " {\n";
295+
OS << "namespace llvm::" << Namespace << "::OpName {\n";
299296
OS << "enum {\n";
300297
for (const auto &Op : Operands)
301298
OS << " " << Op.first << " = " << Op.second << ",\n";
302299

303300
OS << " OPERAND_LAST";
304301
OS << "\n};\n";
305-
OS << "} // end namespace OpName\n";
306-
OS << "} // end namespace " << Namespace << "\n";
307-
OS << "} // end namespace llvm\n";
302+
OS << "} // end namespace llvm::" << Namespace << "::OpName\n";
308303
OS << "#endif //GET_INSTRINFO_OPERAND_ENUM\n\n";
309304

310305
OS << "#ifdef GET_INSTRINFO_NAMED_OPS\n";
311306
OS << "#undef GET_INSTRINFO_NAMED_OPS\n";
312-
OS << "namespace llvm {\n";
313-
OS << "namespace " << Namespace << " {\n";
307+
OS << "namespace llvm::" << Namespace << " {\n";
314308
OS << "LLVM_READONLY\n";
315309
OS << "int16_t getNamedOperandIdx(uint16_t Opcode, uint16_t NamedIdx) {\n";
316310
if (!Operands.empty()) {
@@ -343,8 +337,7 @@ void InstrInfoEmitter::emitOperandNameMappings(
343337
OS << " return -1;\n";
344338
}
345339
OS << "}\n";
346-
OS << "} // end namespace " << Namespace << "\n";
347-
OS << "} // end namespace llvm\n";
340+
OS << "} // end namespace llvm::" << Namespace << "\n";
348341
OS << "#endif //GET_INSTRINFO_NAMED_OPS\n\n";
349342
}
350343

@@ -365,9 +358,7 @@ void InstrInfoEmitter::emitOperandTypeMappings(
365358

366359
OS << "#ifdef GET_INSTRINFO_OPERAND_TYPES_ENUM\n";
367360
OS << "#undef GET_INSTRINFO_OPERAND_TYPES_ENUM\n";
368-
OS << "namespace llvm {\n";
369-
OS << "namespace " << Namespace << " {\n";
370-
OS << "namespace OpTypes {\n";
361+
OS << "namespace llvm::" << Namespace << "::OpTypes {\n";
371362
OS << "enum OperandType {\n";
372363

373364
unsigned EnumVal = 0;
@@ -382,15 +373,12 @@ void InstrInfoEmitter::emitOperandTypeMappings(
382373

383374
OS << " OPERAND_TYPE_LIST_END"
384375
<< "\n};\n";
385-
OS << "} // end namespace OpTypes\n";
386-
OS << "} // end namespace " << Namespace << "\n";
387-
OS << "} // end namespace llvm\n";
376+
OS << "} // end namespace llvm::" << Namespace << "::OpTypes\n";
388377
OS << "#endif // GET_INSTRINFO_OPERAND_TYPES_ENUM\n\n";
389378

390379
OS << "#ifdef GET_INSTRINFO_OPERAND_TYPE\n";
391380
OS << "#undef GET_INSTRINFO_OPERAND_TYPE\n";
392-
OS << "namespace llvm {\n";
393-
OS << "namespace " << Namespace << " {\n";
381+
OS << "namespace llvm::" << Namespace << " {\n";
394382
OS << "LLVM_READONLY\n";
395383
OS << "static int getOperandType(uint16_t Opcode, uint16_t OpIdx) {\n";
396384
auto getInstrName = [&](int I) -> StringRef {
@@ -465,14 +453,12 @@ void InstrInfoEmitter::emitOperandTypeMappings(
465453
OS << " llvm_unreachable(\"No instructions defined\");\n";
466454
}
467455
OS << "}\n";
468-
OS << "} // end namespace " << Namespace << "\n";
469-
OS << "} // end namespace llvm\n";
456+
OS << "} // end namespace llvm::" << Namespace << "\n";
470457
OS << "#endif // GET_INSTRINFO_OPERAND_TYPE\n\n";
471458

472459
OS << "#ifdef GET_INSTRINFO_MEM_OPERAND_SIZE\n";
473460
OS << "#undef GET_INSTRINFO_MEM_OPERAND_SIZE\n";
474-
OS << "namespace llvm {\n";
475-
OS << "namespace " << Namespace << " {\n";
461+
OS << "namespace llvm::" << Namespace << " {\n";
476462
OS << "LLVM_READONLY\n";
477463
OS << "static int getMemOperandSize(int OpType) {\n";
478464
OS << " switch (OpType) {\n";
@@ -490,8 +476,7 @@ void InstrInfoEmitter::emitOperandTypeMappings(
490476
OS << " return " << KV.first << ";\n\n";
491477
}
492478
OS << " }\n}\n";
493-
OS << "} // end namespace " << Namespace << "\n";
494-
OS << "} // end namespace llvm\n";
479+
OS << "} // end namespace llvm::" << Namespace << "\n";
495480
OS << "#endif // GET_INSTRINFO_MEM_OPERAND_SIZE\n\n";
496481
}
497482

@@ -526,8 +511,7 @@ void InstrInfoEmitter::emitLogicalOperandSizeMappings(
526511

527512
OS << "#ifdef GET_INSTRINFO_LOGICAL_OPERAND_SIZE_MAP\n";
528513
OS << "#undef GET_INSTRINFO_LOGICAL_OPERAND_SIZE_MAP\n";
529-
OS << "namespace llvm {\n";
530-
OS << "namespace " << Namespace << " {\n";
514+
OS << "namespace llvm::" << Namespace << " {\n";
531515
OS << "LLVM_READONLY static unsigned\n";
532516
OS << "getLogicalOperandSize(uint16_t Opcode, uint16_t LogicalOpIdx) {\n";
533517
if (!InstMap.empty()) {
@@ -577,8 +561,7 @@ void InstrInfoEmitter::emitLogicalOperandSizeMappings(
577561
OS << " return S;\n";
578562
OS << "}\n";
579563

580-
OS << "} // end namespace " << Namespace << "\n";
581-
OS << "} // end namespace llvm\n";
564+
OS << "} // end namespace llvm::" << Namespace << "\n";
582565
OS << "#endif // GET_INSTRINFO_LOGICAL_OPERAND_SIZE_MAP\n\n";
583566
}
584567

@@ -619,8 +602,7 @@ void InstrInfoEmitter::emitLogicalOperandTypeMappings(
619602

620603
OS << "#ifdef GET_INSTRINFO_LOGICAL_OPERAND_TYPE_MAP\n";
621604
OS << "#undef GET_INSTRINFO_LOGICAL_OPERAND_TYPE_MAP\n";
622-
OS << "namespace llvm {\n";
623-
OS << "namespace " << Namespace << " {\n";
605+
OS << "namespace llvm::" << Namespace << " {\n";
624606
OS << "LLVM_READONLY static int\n";
625607
OS << "getLogicalOperandType(uint16_t Opcode, uint16_t LogicalOpIdx) {\n";
626608
if (!InstMap.empty()) {
@@ -666,8 +648,7 @@ void InstrInfoEmitter::emitLogicalOperandTypeMappings(
666648
OS << " return -1;\n";
667649
}
668650
OS << "}\n";
669-
OS << "} // end namespace " << Namespace << "\n";
670-
OS << "} // end namespace llvm\n";
651+
OS << "} // end namespace llvm::" << Namespace << "\n";
671652
OS << "#endif // GET_INSTRINFO_LOGICAL_OPERAND_TYPE_MAP\n\n";
672653
}
673654

@@ -701,8 +682,7 @@ void InstrInfoEmitter::emitMCIIHelperMethods(raw_ostream &OS,
701682
OS << "#ifdef GET_INSTRINFO_MC_HELPERS\n";
702683
OS << "#undef GET_INSTRINFO_MC_HELPERS\n\n";
703684

704-
OS << "namespace llvm {\n";
705-
OS << "namespace " << TargetName << "_MC {\n\n";
685+
OS << "namespace llvm::" << TargetName << "_MC {\n";
706686

707687
PredicateExpander PE(TargetName);
708688
PE.setExpandForMC(true);
@@ -716,8 +696,7 @@ void InstrInfoEmitter::emitMCIIHelperMethods(raw_ostream &OS,
716696
OS << "\n}\n\n";
717697
}
718698

719-
OS << "} // end namespace " << TargetName << "_MC\n";
720-
OS << "} // end namespace llvm\n\n";
699+
OS << "} // end namespace llvm::" << TargetName << "_MC\n";
721700

722701
OS << "#endif // GET_GENISTRINFO_MC_HELPERS\n\n";
723702
}
@@ -743,8 +722,7 @@ void InstrInfoEmitter::emitFeatureVerifier(raw_ostream &OS,
743722
<< "#endif\n";
744723
OS << "#ifdef GET_COMPUTE_FEATURES\n"
745724
<< "#undef GET_COMPUTE_FEATURES\n"
746-
<< "namespace llvm {\n"
747-
<< "namespace " << Target.getName() << "_MC {\n\n";
725+
<< "namespace llvm::" << Target.getName() << "_MC {\n";
748726

749727
// Emit the subtarget feature enumeration.
750728
SubtargetFeatureInfo::emitSubtargetFeatureBitEnumeration(SubtargetFeatures,
@@ -827,14 +805,12 @@ void InstrInfoEmitter::emitFeatureVerifier(raw_ostream &OS,
827805
<< " return FeatureBitsets[RequiredFeaturesRefs[Opcode]];\n"
828806
<< "}\n\n";
829807

830-
OS << "} // end namespace " << Target.getName() << "_MC\n"
831-
<< "} // end namespace llvm\n"
808+
OS << "} // end namespace llvm::" << Target.getName() << "_MC\n"
832809
<< "#endif // GET_COMPUTE_FEATURES\n\n";
833810

834811
OS << "#ifdef GET_AVAILABLE_OPCODE_CHECKER\n"
835812
<< "#undef GET_AVAILABLE_OPCODE_CHECKER\n"
836-
<< "namespace llvm {\n"
837-
<< "namespace " << Target.getName() << "_MC {\n";
813+
<< "namespace llvm::" << Target.getName() << "_MC {\n";
838814
OS << "bool isOpcodeAvailable("
839815
<< "unsigned Opcode, const FeatureBitset &Features) {\n"
840816
<< " FeatureBitset AvailableFeatures = "
@@ -846,16 +822,14 @@ void InstrInfoEmitter::emitFeatureVerifier(raw_ostream &OS,
846822
<< " RequiredFeatures;\n"
847823
<< " return !MissingFeatures.any();\n"
848824
<< "}\n";
849-
OS << "} // end namespace " << Target.getName() << "_MC\n"
850-
<< "} // end namespace llvm\n"
825+
OS << "} // end namespace llvm::" << Target.getName() << "_MC\n"
851826
<< "#endif // GET_AVAILABLE_OPCODE_CHECKER\n\n";
852827

853828
OS << "#ifdef ENABLE_INSTR_PREDICATE_VERIFIER\n"
854829
<< "#undef ENABLE_INSTR_PREDICATE_VERIFIER\n"
855830
<< "#include <sstream>\n\n";
856831

857-
OS << "namespace llvm {\n";
858-
OS << "namespace " << Target.getName() << "_MC {\n\n";
832+
OS << "namespace llvm::" << Target.getName() << "_MC {\n";
859833

860834
// Emit the name table for error messages.
861835
OS << "#ifndef NDEBUG\n";
@@ -886,8 +860,7 @@ void InstrInfoEmitter::emitFeatureVerifier(raw_ostream &OS,
886860
<< " }\n"
887861
<< "#endif // NDEBUG\n";
888862
OS << "}\n";
889-
OS << "} // end namespace " << Target.getName() << "_MC\n";
890-
OS << "} // end namespace llvm\n";
863+
OS << "} // end namespace llvm::" << Target.getName() << "_MC\n";
891864
OS << "#endif // ENABLE_INSTR_PREDICATE_VERIFIER\n\n";
892865
}
893866

@@ -1318,42 +1291,34 @@ void InstrInfoEmitter::emitEnums(raw_ostream &OS) {
13181291
OS << "#ifdef GET_INSTRINFO_ENUM\n";
13191292
OS << "#undef GET_INSTRINFO_ENUM\n";
13201293

1321-
OS << "namespace llvm {\n\n";
1322-
13231294
const CodeGenTarget &Target = CDP.getTargetInfo();
1324-
1325-
// We must emit the PHI opcode first...
13261295
StringRef Namespace = Target.getInstNamespace();
13271296

13281297
if (Namespace.empty())
13291298
PrintFatalError("No instructions defined!");
13301299

1331-
OS << "namespace " << Namespace << " {\n";
1300+
OS << "namespace llvm::" << Namespace << " {\n";
1301+
13321302
OS << " enum {\n";
13331303
unsigned Num = 0;
13341304
for (const CodeGenInstruction *Inst : Target.getInstructionsByEnumValue())
13351305
OS << " " << Inst->TheDef->getName()
13361306
<< "\t= " << (Num = Target.getInstrIntValue(Inst->TheDef)) << ",\n";
13371307
OS << " INSTRUCTION_LIST_END = " << Num + 1 << "\n";
13381308
OS << " };\n\n";
1339-
OS << "} // end namespace " << Namespace << "\n";
1340-
OS << "} // end namespace llvm\n";
1309+
OS << "} // end namespace llvm::" << Namespace << "\n";
13411310
OS << "#endif // GET_INSTRINFO_ENUM\n\n";
13421311

13431312
OS << "#ifdef GET_INSTRINFO_SCHED_ENUM\n";
13441313
OS << "#undef GET_INSTRINFO_SCHED_ENUM\n";
1345-
OS << "namespace llvm {\n\n";
1346-
OS << "namespace " << Namespace << " {\n";
1347-
OS << "namespace Sched {\n";
1314+
OS << "namespace llvm::" << Namespace << "::Sched {\n\n";
13481315
OS << " enum {\n";
13491316
Num = 0;
13501317
for (const auto &Class : SchedModels.explicit_classes())
13511318
OS << " " << Class.Name << "\t= " << Num++ << ",\n";
13521319
OS << " SCHED_LIST_END = " << Num << "\n";
13531320
OS << " };\n";
1354-
OS << "} // end namespace Sched\n";
1355-
OS << "} // end namespace " << Namespace << "\n";
1356-
OS << "} // end namespace llvm\n";
1321+
OS << "} // end namespace llvm::" << Namespace << "::Sched\n";
13571322

13581323
OS << "#endif // GET_INSTRINFO_SCHED_ENUM\n\n";
13591324
}

0 commit comments

Comments
 (0)