summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-11-08 04:16:57 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-11-08 04:16:57 +0000
commit939c7d916e1631cf2a005b4ba6c03726ecbe0f85 (patch)
tree466c3dcb849b12bfed15d4eec8908a0ac1569541 /llvm/lib/Bitcode
parentc6ddd7221ce19388f2840bb2b98a619486e8e868 (diff)
downloadbcm5719-llvm-939c7d916e1631cf2a005b4ba6c03726ecbe0f85.tar.gz
bcm5719-llvm-939c7d916e1631cf2a005b4ba6c03726ecbe0f85.zip
Bitcode: Split out block info reading into a separate function.
We're about to make this more complicated. llvm-svn: 286206
Diffstat (limited to 'llvm/lib/Bitcode')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 576762e93c3..658e6d227e5 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -237,6 +237,7 @@ protected:
BitstreamCursor Stream;
std::error_code initStream();
+ bool readBlockInfo();
virtual std::error_code error(const Twine &Message) = 0;
virtual ~BitcodeReaderBase() = default;
@@ -3758,6 +3759,11 @@ std::error_code BitcodeReader::parseBitcodeVersion() {
}
}
+
+bool BitcodeReaderBase::readBlockInfo() {
+ return Stream.ReadBlockInfoBlock();
+}
+
std::error_code BitcodeReader::parseModule(uint64_t ResumeBit,
bool ShouldLazyLoadMetadata) {
if (ResumeBit)
@@ -3786,7 +3792,7 @@ std::error_code BitcodeReader::parseModule(uint64_t ResumeBit,
return error("Invalid record");
break;
case bitc::BLOCKINFO_BLOCK_ID:
- if (Stream.ReadBlockInfoBlock())
+ if (readBlockInfo())
return error("Malformed block");
break;
case bitc::PARAMATTR_BLOCK_ID:
@@ -6153,7 +6159,7 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseModule() {
break;
case bitc::BLOCKINFO_BLOCK_ID:
// Need to parse these to get abbrev ids (e.g. for VST)
- if (Stream.ReadBlockInfoBlock())
+ if (readBlockInfo())
return error("Malformed block");
break;
case bitc::VALUE_SYMTAB_BLOCK_ID:
OpenPOWER on IntegriCloud