dont specialize weak functions and the like

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57305 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/IPO/PartialSpecialization.cpp b/lib/Transforms/IPO/PartialSpecialization.cpp
index da127cb..006da59 100644
--- a/lib/Transforms/IPO/PartialSpecialization.cpp
+++ b/lib/Transforms/IPO/PartialSpecialization.cpp
@@ -108,7 +108,7 @@
   bool Changed = false;
   for (Module::iterator I = M.begin(); I != M.end(); ++I) {
     Function &F = *I;
-    if (F.isDeclaration()) continue;
+    if (F.isDeclaration() || F.mayBeOverridden()) continue;
     SmallVector<int, 6> interestingArgs;
     scanForInterest(F, interestingArgs);