diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-12-07 16:31:41 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-12-07 16:31:41 +0000 |
commit | bd03c50336c8a7774935b5a045f25cd7db9e6db1 (patch) | |
tree | c33ddd4275adee8adcceeb6c79a095d7b0856ee5 /llvm/lib/Linker/LinkModules.cpp | |
parent | 3c9d3f75b71396e4b48526b7fba313cbbc37f96a (diff) | |
download | bcm5719-llvm-bd03c50336c8a7774935b5a045f25cd7db9e6db1.tar.gz bcm5719-llvm-bd03c50336c8a7774935b5a045f25cd7db9e6db1.zip |
Link declaration lazily.
We already linked available_externally and linkonce lazily, this just
adds declarations to the list.
llvm-svn: 254917
Diffstat (limited to 'llvm/lib/Linker/LinkModules.cpp')
-rw-r--r-- | llvm/lib/Linker/LinkModules.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Linker/LinkModules.cpp b/llvm/lib/Linker/LinkModules.cpp index a1c3162bf79..8e0904a858b 100644 --- a/llvm/lib/Linker/LinkModules.cpp +++ b/llvm/lib/Linker/LinkModules.cpp @@ -1753,6 +1753,9 @@ bool ModuleLinker::linkIfNeeded(GlobalValue &GV) { GV.hasAvailableExternallyLinkage())) return false; + if (GV.isDeclaration()) + return false; + if (const Comdat *SC = GV.getComdat()) { bool LinkFromSrc; Comdat::SelectionKind SK; |