summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorMehdi Amini <mehdi.amini@apple.com>2016-04-01 03:03:21 +0000
committerMehdi Amini <mehdi.amini@apple.com>2016-04-01 03:03:21 +0000
commit85fb9e058ed74ad9b4fe919056d1d6874f398b39 (patch)
treed0f0ef115da3cf8137ba894af8426b9c6e82ce71 /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parentf83ab6de56eeb651b1ce06ea98ada9175a2beb17 (diff)
downloadbcm5719-llvm-85fb9e058ed74ad9b4fe919056d1d6874f398b39.tar.gz
bcm5719-llvm-85fb9e058ed74ad9b4fe919056d1d6874f398b39.zip
Revert "Add support for computing SHA1 in LLVM"
This reverts commit r265096, r265095, and r265094. Windows build is broken, and the validation does not pass. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265102
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp54
1 files changed, 10 insertions, 44 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 1840b60cc01..93496fe8e6f 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -5632,7 +5632,11 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseModule() {
}
continue;
- case BitstreamEntry::Record: {
+ case BitstreamEntry::Record:
+ // Once we find the last record of interest, skip the rest.
+ if (VSTOffset > 0)
+ Stream.skipRecord(Entry.ID);
+ else {
Record.clear();
auto BitCode = Stream.readRecord(Entry.ID, Record);
switch (BitCode) {
@@ -5646,25 +5650,6 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseModule() {
SourceFileName = ValueName.c_str();
break;
}
- /// MODULE_CODE_HASH: [5*i32]
- case bitc::MODULE_CODE_HASH: {
- if (Record.size() != 5)
- return error("Invalid hash length " + Twine(Record.size()).str());
- if (!TheIndex)
- break;
- if (TheIndex->modulePaths().empty())
- // Does not have any summary emitted.
- break;
- if (TheIndex->modulePaths().size() != 1)
- return error("Don't expect multiple modules defined?");
- auto &Hash = TheIndex->modulePaths().begin()->second.second;
- int Pos = 0;
- for (auto &Val : Record) {
- assert(!(Val >> 32) && "Unexpected high bits set");
- Hash[Pos++] = Val;
- }
- break;
- }
/// MODULE_CODE_VSTOFFSET: [offset]
case bitc::MODULE_CODE_VSTOFFSET:
if (Record.size() < 1)
@@ -5776,7 +5761,7 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseEntireSummary() {
// module path string table entry with an empty (0) ID to take
// ownership.
FS->setModulePath(
- TheIndex->addModulePath(Buffer->getBufferIdentifier(), 0)->first());
+ TheIndex->addModulePath(Buffer->getBufferIdentifier(), 0));
static int RefListStartIndex = 4;
int CallGraphEdgeStartIndex = RefListStartIndex + NumRefs;
assert(Record.size() >= RefListStartIndex + NumRefs &&
@@ -5814,7 +5799,7 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseEntireSummary() {
std::unique_ptr<GlobalVarSummary> FS =
llvm::make_unique<GlobalVarSummary>(getDecodedLinkage(RawLinkage));
FS->setModulePath(
- TheIndex->addModulePath(Buffer->getBufferIdentifier(), 0)->first());
+ TheIndex->addModulePath(Buffer->getBufferIdentifier(), 0));
for (unsigned I = 2, E = Record.size(); I != E; ++I) {
unsigned RefValueId = Record[I];
uint64_t RefGUID = getGUIDFromValueId(RefValueId);
@@ -5902,7 +5887,6 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseModuleStringTable() {
SmallVector<uint64_t, 64> Record;
SmallString<128> ModulePath;
- ModulePathStringTableTy::iterator LastSeenModulePath;
while (1) {
BitstreamEntry Entry = Stream.advanceSkippingSubblocks();
@@ -5923,32 +5907,14 @@ std::error_code ModuleSummaryIndexBitcodeReader::parseModuleStringTable() {
break;
case bitc::MST_CODE_ENTRY: {
// MST_ENTRY: [modid, namechar x N]
- uint64_t ModuleId = Record[0];
-
if (convertToString(Record, 1, ModulePath))
return error("Invalid record");
-
- LastSeenModulePath = TheIndex->addModulePath(ModulePath, ModuleId);
- ModuleIdMap[ModuleId] = LastSeenModulePath->first();
-
+ uint64_t ModuleId = Record[0];
+ StringRef ModulePathInMap = TheIndex->addModulePath(ModulePath, ModuleId);
+ ModuleIdMap[ModuleId] = ModulePathInMap;
ModulePath.clear();
break;
}
- /// MST_CODE_HASH: [5*i32]
- case bitc::MST_CODE_HASH: {
- if (Record.size() != 5)
- return error("Invalid hash length " + Twine(Record.size()).str());
- if (LastSeenModulePath == TheIndex->modulePaths().end())
- return error("Invalid hash that does not follow a module path");
- int Pos = 0;
- for (auto &Val : Record) {
- assert(!(Val >> 32) && "Unexpected high bits set");
- LastSeenModulePath->second.second[Pos++] = Val;
- }
- // Reset LastSeenModulePath to avoid overriding the hash unexpectedly.
- LastSeenModulePath = TheIndex->modulePaths().end();
- break;
- }
}
}
llvm_unreachable("Exit infinite loop");
OpenPOWER on IntegriCloud