allow the 8-bit abbrev to be used for either bb or other values
authorChris Lattner <sabre@nondot.org>
Fri, 4 May 2007 21:31:13 +0000 (21:31 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 4 May 2007 21:31:13 +0000 (21:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36761 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bitcode/Writer/BitcodeWriter.cpp

index 938be87b452bfc6bd4e069a5c179b0cd5d13f59b..6ee3a4a347495e26cd3200953d81ac9f2008d559 100644 (file)
@@ -714,9 +714,9 @@ static void WriteValueSymbolTable(const ValueSymbolTable &VST,
   if (VST.empty()) return;
   Stream.EnterSubblock(bitc::VALUE_SYMTAB_BLOCK_ID, 3);
 
-  { // 8-bit fixed width VST_ENTRY strings.
+  { // 8-bit fixed-width VST_ENTRY/VST_BBENTRY strings.
     BitCodeAbbrev *Abbv = new BitCodeAbbrev();
-    Abbv->Add(BitCodeAbbrevOp(bitc::VST_CODE_ENTRY));
+    Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 3));
     Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 8));
     Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Array));
     Abbv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::Fixed, 8));
@@ -762,17 +762,17 @@ static void WriteValueSymbolTable(const ValueSymbolTable &VST,
       }
     
     
-    unsigned AbbrevToUse = 0;
+    unsigned AbbrevToUse = VST_ENTRY_8_ABBREV;
     
-    // VST_ENTRY:   [valueid, namelen, namechar x N]
-    // VST_BBENTRY: [bbid, namelen, namechar x N]
+    // VST_ENTRY:   [valueid, namechar x N]
+    // VST_BBENTRY: [bbid, namechar x N]
     unsigned Code;
     if (isa<BasicBlock>(SI->getValue())) {
       Code = bitc::VST_CODE_BBENTRY;
       if (is7Bit) AbbrevToUse = VST_BBENTRY_7_ABBREV;
     } else {
       Code = bitc::VST_CODE_ENTRY;
-      AbbrevToUse = is7Bit ? VST_ENTRY_7_ABBREV : VST_ENTRY_8_ABBREV;
+      if (is7Bit) AbbrevToUse = VST_ENTRY_7_ABBREV;
     }
     
     NameVals.push_back(VE.getValueID(SI->getValue()));