summaryrefslogtreecommitdiffstats
path: root/llvm/utils
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2012-03-06 06:04:39 +0000
committerCraig Topper <craig.topper@gmail.com>2012-03-06 06:04:39 +0000
commit93d65c785ef42b688bde80e253db0f35870dedef (patch)
treea95b015b6b2df9c9bf8862e955c1313b35da2125 /llvm/utils
parentf875c10fda10ad827e92efca1b90cd9302be6edb (diff)
downloadbcm5719-llvm-93d65c785ef42b688bde80e253db0f35870dedef.tar.gz
bcm5719-llvm-93d65c785ef42b688bde80e253db0f35870dedef.zip
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.
llvm-svn: 152105
Diffstat (limited to 'llvm/utils')
-rw-r--r--llvm/utils/TableGen/AsmWriterEmitter.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/utils/TableGen/AsmWriterEmitter.cpp b/llvm/utils/TableGen/AsmWriterEmitter.cpp
index c4812dcae6d..59926a32990 100644
--- a/llvm/utils/TableGen/AsmWriterEmitter.cpp
+++ b/llvm/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";
OpenPOWER on IntegriCloud