Bitcode: Add SimpleBitstreamCursor::getPointerToByte, etc.
Add API to SimpleBitstreamCursor to allow users to translate between byte addresses and pointers. - jumpToPointer: move the bit position to a particular pointer. - getPointerToByte: get the pointer for a particular byte. - getPointerToBit: get the pointer for the byte of the current bit. - getCurrentByteNo: convenience function for assertions and tests. Mainly adds unit tests (getPointerToBit/Byte already has a use), but also preparation for eventually using jumpToPointer. llvm-svn: 264546
This commit is contained in:
@@ -261,9 +261,7 @@ unsigned BitstreamCursor::readRecord(unsigned AbbrevID,
|
||||
}
|
||||
|
||||
// Otherwise, inform the streamer that we need these bytes in memory.
|
||||
const char *Ptr =
|
||||
(const char *)getBitStreamReader()->getBitcodeBytes().getPointer(
|
||||
CurBitPos / 8, NumElts);
|
||||
const char *Ptr = (const char *)getPointerToBit(CurBitPos, NumElts);
|
||||
|
||||
// If we can return a reference to the data, do so to avoid copying it.
|
||||
if (Blob) {
|
||||
|
||||
Reference in New Issue
Block a user