[llvm-commits] CVS: llvm/lib/Bitcode/Writer/BitcodeWriter.cpp ValueEnumerator.cpp

Chris Lattner sabre at nondot.org
Thu May 3 15:18:47 PDT 2007



Changes in directory llvm/lib/Bitcode/Writer:

BitcodeWriter.cpp updated: 1.21 -> 1.22
ValueEnumerator.cpp updated: 1.7 -> 1.8
---
Log message:

fix encoding of BB names in the symtab


---
Diffs of the changes:  (+11 -5)

 BitcodeWriter.cpp   |   14 ++++++++++----
 ValueEnumerator.cpp |    2 +-
 2 files changed, 11 insertions(+), 5 deletions(-)


Index: llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
diff -u llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.21 llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.22
--- llvm/lib/Bitcode/Writer/BitcodeWriter.cpp:1.21	Wed May  2 00:46:45 2007
+++ llvm/lib/Bitcode/Writer/BitcodeWriter.cpp	Thu May  3 17:18:21 2007
@@ -669,7 +669,6 @@
     }
     break;
   }
-    
   case Instruction::VAArg:
     Code = bitc::FUNC_CODE_INST_VAARG;
     Vals.push_back(VE.getTypeID(I.getOperand(0)->getType()));   // valistty
@@ -697,16 +696,23 @@
        SI != SE; ++SI) {
     unsigned AbbrevToUse = 0;
     
-    // VST_ENTRY: [valueid, namelen, namechar x N]
-    NameVals.push_back(VE.getValueID(SI->getValue()));
+    // VST_ENTRY:   [valueid, namelen, namechar x N]
+    // VST_BBENTRY: [bbid, namelen, namechar x N]
+    unsigned Code;
+    if (isa<BasicBlock>(SI->getValue())) {
+      Code = bitc::VST_CODE_BBENTRY;
+    } else {
+      Code = bitc::VST_CODE_ENTRY;
+    }
     
+    NameVals.push_back(VE.getValueID(SI->getValue()));
     NameVals.push_back(SI->getKeyLength());
     for (const char *P = SI->getKeyData(),
          *E = SI->getKeyData()+SI->getKeyLength(); P != E; ++P)
       NameVals.push_back((unsigned char)*P);
     
     // Emit the finished record.
-    Stream.EmitRecord(bitc::VST_CODE_ENTRY, NameVals, AbbrevToUse);
+    Stream.EmitRecord(Code, NameVals, AbbrevToUse);
     NameVals.clear();
   }
   Stream.ExitBlock();


Index: llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
diff -u llvm/lib/Bitcode/Writer/ValueEnumerator.cpp:1.7 llvm/lib/Bitcode/Writer/ValueEnumerator.cpp:1.8
--- llvm/lib/Bitcode/Writer/ValueEnumerator.cpp:1.7	Thu Apr 26 00:53:54 2007
+++ llvm/lib/Bitcode/Writer/ValueEnumerator.cpp	Thu May  3 17:18:21 2007
@@ -180,8 +180,8 @@
             isa<InlineAsm>(*OI))
           EnumerateValue(*OI);
       }
-    ValueMap[BB] = BasicBlocks.size();
     BasicBlocks.push_back(BB);
+    ValueMap[BB] = BasicBlocks.size();
   }
   
   FirstInstID = Values.size();






More information about the llvm-commits mailing list