diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-03-15 18:05:57 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2012-03-15 18:05:57 +0000 |
| commit | bcfa982c4866fee5f86dca8c4bfc7425a9629f0d (patch) | |
| tree | 4742e635a91d08f91f917b2355ada716e352689f /utils/TableGen/InstrInfoEmitter.cpp | |
| parent | d66b9a222b38d7d29646c582b70a1c107ca615de (diff) | |
Revert r152202: "Use uint16_t to store InstrNameIndices in MCInstrInfo."
We cannot limit the concatenated instruction names to 64K. ARM is
already at 32K, and it is easy to imagine a target with more
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152817 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/InstrInfoEmitter.cpp')
| -rw-r--r-- | utils/TableGen/InstrInfoEmitter.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/utils/TableGen/InstrInfoEmitter.cpp b/utils/TableGen/InstrInfoEmitter.cpp index 43ff20373d..0d278288ea 100644 --- a/utils/TableGen/InstrInfoEmitter.cpp +++ b/utils/TableGen/InstrInfoEmitter.cpp @@ -213,20 +213,18 @@ void InstrInfoEmitter::run(raw_ostream &OS) { OperandInfoIDs, OS); OS << "};\n\n"; - OS << "extern const uint16_t " << TargetName <<"InstrNameIndices[] = {\n "; + OS << "extern const unsigned " << TargetName <<"InstrNameIndices[] = {\n "; StringToOffsetTable StringTable; for (unsigned i = 0, e = NumberedInstructions.size(); i != e; ++i) { const CodeGenInstruction *Instr = NumberedInstructions[i]; - unsigned Idx = StringTable.GetOrAddStringOffset(Instr->TheDef->getName()); - assert(Idx <= 0xffff && "String offset too large to fit in table"); - OS << Idx << "U, "; + OS << StringTable.GetOrAddStringOffset(Instr->TheDef->getName()) << "U, "; if (i % 8 == 0) OS << "\n "; } OS << "\n};\n\n"; - OS << "extern const char *const " << TargetName << "InstrNameData =\n"; + OS << "const char *" << TargetName << "InstrNameData =\n"; StringTable.EmitString(OS); OS << ";\n\n"; @@ -259,8 +257,8 @@ void InstrInfoEmitter::run(raw_ostream &OS) { OS << "namespace llvm {\n"; OS << "extern const MCInstrDesc " << TargetName << "Insts[];\n"; - OS << "extern const uint16_t " << TargetName << "InstrNameIndices[];\n"; - OS << "extern const char *const " << TargetName << "InstrNameData;\n"; + OS << "extern const unsigned " << TargetName << "InstrNameIndices[];\n"; + OS << "extern const char *" << TargetName << "InstrNameData;\n"; OS << ClassName << "::" << ClassName << "(int SO, int DO)\n" << " : TargetInstrInfoImpl(SO, DO) {\n" << " InitMCInstrInfo(" << TargetName << "Insts, " |
