[PATCH] D20290: [ThinLTO] Change ODR resolution and internalization to be index-based
Mehdi AMINI via llvm-commits
llvm-commits at lists.llvm.org
Thu May 19 23:05:18 PDT 2016
joker.eph added a comment.
Not sure I totally figured, but here are two things to fix
================
Comment at: lib/LTO/ThinLTOCodeGenerator.cpp:387
@@ +386,3 @@
+ Linkage = GS->second->linkage();
+ return Linkage == GlobalValue::ExternalLinkage;
+ };
----------------
I think one thing is here it should be `return Linkage != GlobalValue::InternalLinkage;`
(but that's not enough to make the link passing)
================
Comment at: lib/LTO/ThinLTOCodeGenerator.cpp:539
@@ +538,3 @@
+
+ auto isExported = [&](StringRef ModuleIdentifier, GlobalValue::GUID GUID) {
+ return ExportList.count(GUID) || GUIDPreservedSymbols.count(GUID);
----------------
ModuleIdentifier is ignored here, this is causing an issue for `thinLTOInternalizeAndPromoteInIndex`.
`thinLTOInternalizeAndPromoteInIndex` should not process the full index but only `DefinedGlobals`
http://reviews.llvm.org/D20290
More information about the llvm-commits
mailing list