summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r--llvm/lib/Transforms/IPO/FunctionImport.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/FunctionImport.cpp b/llvm/lib/Transforms/IPO/FunctionImport.cpp
index b8fc79a03b6..f469c24dd42 100644
--- a/llvm/lib/Transforms/IPO/FunctionImport.cpp
+++ b/llvm/lib/Transforms/IPO/FunctionImport.cpp
@@ -650,6 +650,13 @@ void llvm::thinLTOInternalizeModule(Module &TheModule,
return !GlobalValue::isLocalLinkage(Linkage);
};
+ // Try to auto-hide the symbols.
+ for (auto &GO : TheModule.global_objects()) {
+ const auto &GS = DefinedGlobals.find(GO.getGUID());
+ if (GS != DefinedGlobals.end() && GS->second->flags().AutoHide)
+ GO.setVisibility(GlobalValue::HiddenVisibility);
+ }
+
// FIXME: See if we can just internalize directly here via linkage changes
// based on the index, rather than invoking internalizeModule.
llvm::internalizeModule(TheModule, MustPreserveGV);
OpenPOWER on IntegriCloud