Unless we CANNOT merge the arguments, do so

llvm-svn: 7999
diff --git a/llvm/lib/Transforms/IPO/FunctionResolution.cpp b/llvm/lib/Transforms/IPO/FunctionResolution.cpp
index e4bfcb9..7d60981 100644
--- a/llvm/lib/Transforms/IPO/FunctionResolution.cpp
+++ b/llvm/lib/Transforms/IPO/FunctionResolution.cpp
@@ -69,7 +69,9 @@
             std::cerr << "WARNING: Function [" << Old->getName()
                       << "]: Parameter types conflict for: '" << OldMT
                       << "' and '" << ConcreteMT << "'\n";
-            return Changed;
+            if (OldMT->getParamTypes()[i]->getPrimitiveID() != 
+                ConcreteMT->getParamTypes()[i]->getPrimitiveID())
+              return Changed;
           }
       
       // Attempt to convert all of the uses of the old function to the concrete