add some helpers
authorChris Lattner <sabre@nondot.org>
Sun, 29 Apr 2007 21:49:05 +0000 (21:49 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 29 Apr 2007 21:49:05 +0000 (21:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36580 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Bitcode/BitstreamReader.h
include/llvm/Bitcode/LLVMBitCodes.h

index c6394b6c99a539109f55dfe7564838005f9f48a1..71cb5bb33d665e47716a2c97c43cdeb67fe2343a 100644 (file)
@@ -79,6 +79,8 @@ public:
     return (NextChar-FirstChar)*8 + (32-BitsInCurWord);
   }
   
+  /// GetAbbrevIDWidth - Return the number of bits used to encode an abbrev #.
+  unsigned GetAbbrevIDWidth() const { return CurCodeSize; }
   
   uint32_t Read(unsigned NumBits) {
     // If the field is fully contained by CurWord, return it quickly.
@@ -205,7 +207,7 @@ public:
   
   /// EnterSubBlock - Having read the ENTER_SUBBLOCK abbrevid, read and enter
   /// the block, returning the BlockID of the block we just entered.
-  bool EnterSubBlock() {
+  bool EnterSubBlock(unsigned *NumWordsP = 0) {
     BlockScope.push_back(Block(CurCodeSize));
     BlockScope.back().PrevAbbrevs.swap(CurAbbrevs);
     
@@ -213,6 +215,7 @@ public:
     CurCodeSize = ReadVBR(bitc::CodeLenWidth);
     SkipToWord();
     unsigned NumWords = Read(bitc::BlockSizeWidth);
+    if (NumWordsP) *NumWordsP = NumWords;
     
     // Validate that this block is sane.
     if (CurCodeSize == 0 || AtEndOfStream() || NextChar+NumWords*4 > LastChar)
index 9f790f45b6aa85edb6f3baa3c5bf2541657a83ba..8022c389f6691b9cedb4fc621874ec7057e12dc5 100644 (file)
@@ -92,7 +92,7 @@ namespace bitc {
   
   // The constants block (CONSTANTS_BLOCK_ID) describes emission for each
   // constant and maintains an implicit current type value.
-  enum ConstantsSymtabCodes {
+  enum ConstantsCodes {
     CST_CODE_SETTYPE       =  1,  // SETTYPE:       [typeid]
     CST_CODE_NULL          =  2,  // NULL
     CST_CODE_UNDEF         =  3,  // UNDEF