diff options
author | Craig Topper <craig.topper@gmail.com> | 2012-03-06 06:04:39 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2012-03-06 06:04:39 +0000 |
commit | f0c094b1155e9316e93b28bfbd3153bc99d1ac95 (patch) | |
tree | 2289bf2d51f42ee272a3d69bd88576c7586ae8d7 /utils | |
parent | 904a01820c86dd1e2bc7aef2950ed75a2c9c2640 (diff) | |
download | llvm-f0c094b1155e9316e93b28bfbd3153bc99d1ac95.tar.gz llvm-f0c094b1155e9316e93b28bfbd3153bc99d1ac95.tar.bz2 llvm-f0c094b1155e9316e93b28bfbd3153bc99d1ac95.tar.xz |
Use uint16_t to store indices into string table since C++ only allows 64K string literals so the index into the big string can never be larger than that.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152105 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
-rw-r--r-- | utils/TableGen/AsmWriterEmitter.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/utils/TableGen/AsmWriterEmitter.cpp b/utils/TableGen/AsmWriterEmitter.cpp index c4812dcae6..59926a3299 100644 --- a/utils/TableGen/AsmWriterEmitter.cpp +++ b/utils/TableGen/AsmWriterEmitter.cpp @@ -463,7 +463,7 @@ static void emitRegisterNameString(raw_ostream &O, StringRef AltName, const std::vector<CodeGenRegister*> &Registers) { StringToOffsetTable StringTable; - O << " static const unsigned RegAsmOffset" << AltName << "[] = {\n "; + O << " static const uint16_t RegAsmOffset" << AltName << "[] = {\n "; for (unsigned i = 0, e = Registers.size(); i != e; ++i) { const CodeGenRegister &Reg = *Registers[i]; @@ -507,7 +507,7 @@ emitRegisterNameString(raw_ostream &O, StringRef AltName, << " };\n" << "\n"; - O << " const char *AsmStrs" << AltName << " =\n"; + O << " const char *const AsmStrs" << AltName << " =\n"; StringTable.EmitString(O); O << ";\n"; } @@ -541,7 +541,7 @@ void AsmWriterEmitter::EmitGetRegisterName(raw_ostream &O) { emitRegisterNameString(O, "", Registers); if (hasAltNames) { - O << " const unsigned *RegAsmOffset;\n" + O << " const uint16_t *RegAsmOffset;\n" << " const char *AsmStrs;\n" << " switch(AltIdx) {\n" << " default: llvm_unreachable(\"Invalid register alt name index!\");\n"; @@ -583,7 +583,7 @@ void AsmWriterEmitter::EmitGetInstructionName(raw_ostream &O) { << " assert(Opcode < " << NumberedInstructions.size() << " && \"Invalid instruction number!\");\n" << "\n" - << " static const unsigned InstAsmOffset[] = {"; + << " static const uint16_t InstAsmOffset[] = {"; for (unsigned i = 0, e = NumberedInstructions.size(); i != e; ++i) { const CodeGenInstruction &Inst = *NumberedInstructions[i]; @@ -597,7 +597,7 @@ void AsmWriterEmitter::EmitGetInstructionName(raw_ostream &O) { << " };\n" << "\n"; - O << " const char *Strs =\n"; + O << " const char *const Strs =\n"; StringTable.EmitString(O); O << ";\n"; |