[PATCH] D28139: [ThinLTO] No need to rediscover imports in distributed backend
Teresa Johnson via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Dec 28 10:10:46 PST 2016
This revision was automatically updated to reflect the committed changes.
Closed by commit rL290674: [ThinLTO] No need to rediscover imports in distributed backend (authored by tejohnson).
Changed prior to commit:
https://reviews.llvm.org/D28139?vs=82603&id=82608#toc
Repository:
rL LLVM
https://reviews.llvm.org/D28139
Files:
cfe/trunk/lib/CodeGen/BackendUtil.cpp
Index: cfe/trunk/lib/CodeGen/BackendUtil.cpp
===================================================================
--- cfe/trunk/lib/CodeGen/BackendUtil.cpp
+++ cfe/trunk/lib/CodeGen/BackendUtil.cpp
@@ -863,11 +863,23 @@
ModuleToDefinedGVSummaries;
CombinedIndex->collectDefinedGVSummariesPerModule(ModuleToDefinedGVSummaries);
- // FIXME: We could simply import the modules mentioned in the combined index
- // here.
+ // We can simply import the values mentioned in the combined index, since
+ // we should only invoke this using the individual indexes written out
+ // via a WriteIndexesThinBackend.
FunctionImporter::ImportMapTy ImportList;
- ComputeCrossModuleImportForModule(M->getModuleIdentifier(), *CombinedIndex,
- ImportList);
+ for (auto &GlobalList : *CombinedIndex) {
+ auto GUID = GlobalList.first;
+ assert(GlobalList.second.size() == 1 &&
+ "Expected individual combined index to have one summary per GUID");
+ auto &Summary = GlobalList.second[0];
+ // Skip the summaries for the importing module. These are included to
+ // e.g. record required linkage changes.
+ if (Summary->modulePath() == M->getModuleIdentifier())
+ continue;
+ // Doesn't matter what value we plug in to the map, just needs an entry
+ // to provoke importing by thinBackend.
+ ImportList[Summary->modulePath()][GUID] = 1;
+ }
std::vector<std::unique_ptr<llvm::MemoryBuffer>> OwnedImports;
MapVector<llvm::StringRef, llvm::BitcodeModule> ModuleMap;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28139.82608.patch
Type: text/x-patch
Size: 1545 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20161228/9f2fa6a3/attachment.bin>
More information about the cfe-commits
mailing list