mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-13 04:38:24 +00:00
add some helpers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36580 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -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)
|
||||
|
Reference in New Issue
Block a user