[llvm-commits] [llvm] r127138 - /llvm/trunk/lib/Transforms/IPO/Internalize.cpp

Rafael Espindola rafael.espindola at gmail.com
Sun Mar 6 15:41:34 PST 2011


Author: rafael
Date: Sun Mar  6 17:41:34 2011
New Revision: 127138

URL: http://llvm.org/viewvc/llvm-project?rev=127138&view=rev
Log:
Don't internalize available_externally functions. We already did the right
thing for variables.

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=127138&r1=127137&r2=127138&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/IPO/Internalize.cpp (original)
+++ llvm/trunk/lib/Transforms/IPO/Internalize.cpp Sun Mar  6 17:41:34 2011
@@ -126,6 +126,8 @@
   // FIXME: maybe use private linkage?
   for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I)
     if (!I->isDeclaration() &&         // Function must be defined here
+        // Available externally is really just a "declaration with a body".
+        !I->hasAvailableExternallyLinkage() &&
         !I->hasLocalLinkage() &&  // Can't already have internal linkage
         !ExternalNames.count(I->getName())) {// Not marked to keep external?
       I->setLinkage(GlobalValue::InternalLinkage);





More information about the llvm-commits mailing list