Fix isDiscardableIfUnused to include available_externally linkage.
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Tue, 8 Sep 2015 18:25:20 +0000 (18:25 +0000)
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>
Tue, 8 Sep 2015 18:25:20 +0000 (18:25 +0000)
AvailableExternally functions are discardable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@247044 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/GlobalValue.h

index 2961369..eb6af50 100644 (file)
@@ -236,7 +236,8 @@ public:
   /// Whether the definition of this global may be discarded if it is not used
   /// in its compilation unit.
   static bool isDiscardableIfUnused(LinkageTypes Linkage) {
-    return isLinkOnceLinkage(Linkage) || isLocalLinkage(Linkage);
+    return isLinkOnceLinkage(Linkage) || isLocalLinkage(Linkage) ||
+           isAvailableExternallyLinkage(Linkage);
   }
 
   /// Whether the definition of this global may be replaced by something