[llvm-commits] [llvm] r100269 - /llvm/trunk/lib/Transforms/IPO/Internalize.cpp
Chris Lattner
sabre at nondot.org
Fri Apr 2 22:24:50 PDT 2010
Author: lattner
Date: Sat Apr 3 00:24:50 2010
New Revision: 100269
URL: http://llvm.org/viewvc/llvm-project?rev=100269&view=rev
Log:
don't internalize available_externally functions, they are
really just declarations. This is related to PR6524
Modified:
llvm/trunk/lib/Transforms/IPO/Internalize.cpp
Modified: llvm/trunk/lib/Transforms/IPO/Internalize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/Internalize.cpp?rev=100269&r1=100268&r2=100269&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/Internalize.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/Internalize.cpp Sat Apr 3 00:24:50 2010
@@ -156,6 +156,8 @@
for (Module::global_iterator I = M.global_begin(), E = M.global_end();
I != E; ++I)
if (!I->isDeclaration() && !I->hasLocalLinkage() &&
+ // Available externally is really just a "declaration with a body".
+ !I->hasAvailableExternallyLinkage() &&
!ExternalNames.count(I->getName())) {
I->setLinkage(GlobalValue::InternalLinkage);
Changed = true;
@@ -167,6 +169,8 @@
for (Module::alias_iterator I = M.alias_begin(), E = M.alias_end();
I != E; ++I)
if (!I->isDeclaration() && !I->hasInternalLinkage() &&
+ // Available externally is really just a "declaration with a body".
+ !I->hasAvailableExternallyLinkage() &&
!ExternalNames.count(I->getName())) {
I->setLinkage(GlobalValue::InternalLinkage);
Changed = true;
More information about the llvm-commits
mailing list