[PATCH] D18556: [ThinLTO] Augment FunctionImport dump with value name to GUID map
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 29 08:22:23 PDT 2016
tejohnson created this revision.
tejohnson added a reviewer: joker.eph.
tejohnson added a subscriber: llvm-commits.
Herald added a subscriber: joker.eph.
To aid in debugging, dump out the correlation between value names and
GUID for each source module when it is materialized. This will make it
easier to comprehend the earlier summary-based function importing debug
trace which only has access to and prints the GUIDs.
http://reviews.llvm.org/D18556
Files:
lib/Transforms/IPO/FunctionImport.cpp
Index: lib/Transforms/IPO/FunctionImport.cpp
===================================================================
--- lib/Transforms/IPO/FunctionImport.cpp
+++ lib/Transforms/IPO/FunctionImport.cpp
@@ -318,16 +318,27 @@
// Find the globals to import
DenseSet<const GlobalValue *> GlobalsToImport;
for (auto &GV : *SrcModule) {
- if (GV.hasName() && ImportGUIDs.count(GV.getGUID())) {
+ if (!GV.hasName())
+ continue;
+ auto GUID = GV.getGUID();
+ auto Import = ImportGUIDs.count(GUID);
+ DEBUG(dbgs() << (Import ? "Is" : "Not") << " importing " << GUID << " "
+ << GV.getName() << " from " << SrcModule->getSourceFileName()
+ << "\n");
+ if (Import) {
GV.materialize();
GlobalsToImport.insert(&GV);
}
}
for (auto &GV : SrcModule->aliases()) {
if (!GV.hasName())
continue;
auto GUID = GV.getGUID();
- if (ImportGUIDs.count(GUID)) {
+ auto Import = ImportGUIDs.count(GUID);
+ DEBUG(dbgs() << (Import ? "Is" : "Not") << " importing " << GUID << " "
+ << GV.getName() << " from " << SrcModule->getSourceFileName()
+ << "\n");
+ if (Import) {
// Alias can't point to "available_externally". However when we import
// linkOnceODR the linkage does not change. So we import the alias
// and aliasee only in this case.
@@ -343,7 +354,11 @@
if (!GV.hasName())
continue;
auto GUID = GV.getGUID();
- if (ImportGUIDs.count(GUID)) {
+ auto Import = ImportGUIDs.count(GUID);
+ DEBUG(dbgs() << (Import ? "Is" : "Not") << " importing " << GUID << " "
+ << GV.getName() << " from " << SrcModule->getSourceFileName()
+ << "\n");
+ if (Import) {
GV.materialize();
GlobalsToImport.insert(&GV);
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18556.51921.patch
Type: text/x-patch
Size: 1907 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160329/4b73bfe0/attachment.bin>
More information about the llvm-commits
mailing list