summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Linker/LinkModules.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-12-07 16:31:41 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-12-07 16:31:41 +0000
commitbd03c50336c8a7774935b5a045f25cd7db9e6db1 (patch)
treec33ddd4275adee8adcceeb6c79a095d7b0856ee5 /llvm/lib/Linker/LinkModules.cpp
parent3c9d3f75b71396e4b48526b7fba313cbbc37f96a (diff)
downloadbcm5719-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.cpp3
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;
OpenPOWER on IntegriCloud