summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/ModuleSummaryIndex.cpp
diff options
context:
space:
mode:
authorMehdi Amini <mehdi.amini@apple.com>2016-04-01 05:33:11 +0000
committerMehdi Amini <mehdi.amini@apple.com>2016-04-01 05:33:11 +0000
commitd7ad221c161dbf048c1d4f4f3ce3c24bbb203a13 (patch)
tree75fa347cdbbe74459f4acec5ab77a20aff7db12c /llvm/lib/IR/ModuleSummaryIndex.cpp
parenteed269329caa92d0bf11c72a2eec0e7143bea18b (diff)
downloadbcm5719-llvm-d7ad221c161dbf048c1d4f4f3ce3c24bbb203a13.tar.gz
bcm5719-llvm-d7ad221c161dbf048c1d4f4f3ce3c24bbb203a13.zip
Add a module Hash in the bitcode and the combined index, implementing a kind of "build-id"
This is intended to be used for ThinLTO incremental build. Differential Revision: http://reviews.llvm.org/D18213 This is a recommit of r265095 after fixing the Windows issues. From: Mehdi Amini <mehdi.amini@apple.com> llvm-svn: 265111
Diffstat (limited to 'llvm/lib/IR/ModuleSummaryIndex.cpp')
-rw-r--r--llvm/lib/IR/ModuleSummaryIndex.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/IR/ModuleSummaryIndex.cpp b/llvm/lib/IR/ModuleSummaryIndex.cpp
index 16b58ddbeff..c23e072b48a 100644
--- a/llvm/lib/IR/ModuleSummaryIndex.cpp
+++ b/llvm/lib/IR/ModuleSummaryIndex.cpp
@@ -37,9 +37,11 @@ void ModuleSummaryIndex::mergeFrom(std::unique_ptr<ModuleSummaryIndex> Other,
// Add the module path string ref for this module if we haven't already
// saved a reference to it.
- if (ModPath.empty())
- ModPath = addModulePath(Info->summary()->modulePath(), NextModuleId);
- else
+ if (ModPath.empty()) {
+ auto Path = Info->summary()->modulePath();
+ ModPath = addModulePath(Path, NextModuleId, Other->getModuleHash(Path))
+ ->first();
+ } else
assert(ModPath == Info->summary()->modulePath() &&
"Each module in the combined map should have a unique ID");
OpenPOWER on IntegriCloud