summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-26 20:59:02 +0000
committerChris Lattner <sabre@nondot.org>2009-04-26 20:59:02 +0000
commit277800a6435e477fc47fa14cb1e0252f3a95c10e (patch)
tree9a7a8c40cf1646e25b8ad2fb771ee9418edef04b /llvm/lib/Bitcode
parent64fc3c68e5505d6a958eb6a5c33c2bf2863e5d64 (diff)
downloadbcm5719-llvm-277800a6435e477fc47fa14cb1e0252f3a95c10e.tar.gz
bcm5719-llvm-277800a6435e477fc47fa14cb1e0252f3a95c10e.zip
Make a major API change to BitstreamReader: split all the reading
state out of the BitstreamReader class into a BitstreamCursor class. Doing this allows the client to have multiple cursors into the same file, each with potentially different live block stacks and abbreviation records. llvm-svn: 70157
Diffstat (limited to 'llvm/lib/Bitcode')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp3
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.h3
-rw-r--r--llvm/lib/Bitcode/Reader/Deserialize.cpp2
3 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 8079acddb06..fe20f725878 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1346,7 +1346,8 @@ bool BitcodeReader::ParseBitcode() {
if (SkipBitcodeWrapperHeader(BufPtr, BufEnd))
return Error("Invalid bitcode wrapper header");
- Stream.init(BufPtr, BufEnd);
+ StreamFile.init(BufPtr, BufEnd);
+ Stream.init(StreamFile);
// Sniff for the signature.
if (Stream.Read(8) != 'B' ||
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.h b/llvm/lib/Bitcode/Reader/BitcodeReader.h
index 1fbf219fb8e..0dc470b24a2 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.h
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.h
@@ -86,7 +86,8 @@ public:
class BitcodeReader : public ModuleProvider {
MemoryBuffer *Buffer;
- BitstreamReader Stream;
+ BitstreamReader StreamFile;
+ BitstreamCursor Stream;
const char *ErrorString;
diff --git a/llvm/lib/Bitcode/Reader/Deserialize.cpp b/llvm/lib/Bitcode/Reader/Deserialize.cpp
index 2014557a101..06da6ce7272 100644
--- a/llvm/lib/Bitcode/Reader/Deserialize.cpp
+++ b/llvm/lib/Bitcode/Reader/Deserialize.cpp
@@ -22,7 +22,7 @@ using namespace llvm;
Deserializer::Deserializer(BitstreamReader& stream)
: Stream(stream), RecIdx(0), FreeList(NULL), AbbrevNo(0), RecordCode(0) {
- StreamStart = Stream.GetCurrentBitNo();
+ StreamStart = Stream.GetCurrentBitNo();
}
Deserializer::~Deserializer() {
OpenPOWER on IntegriCloud