Addressing post-commit comments for not rewriting fputs:
moved the optimise for size check inside function optimizeFPuts.

llvm-svn: 274758
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
index 9bba359..c298695 100644
--- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
@@ -1836,6 +1836,11 @@
 Value *LibCallSimplifier::optimizeFPuts(CallInst *CI, IRBuilder<> &B) {
   optimizeErrorReporting(CI, B, 1);
 
+  // Don't rewrite fputs to fwrite when optimising for size because fwrite
+  // requires more arguments and thus extra MOVs are required.
+  if (CI->getParent()->getParent()->optForSize())
+    return nullptr;
+
   // We can't optimize if return value is used.
   if (!CI->use_empty())
     return nullptr;
@@ -2056,8 +2061,6 @@
     case LibFunc::fwrite:
       return optimizeFWrite(CI, Builder);
     case LibFunc::fputs:
-      if (CI->getParent()->getParent()->optForSize())
-        return nullptr;
       return optimizeFPuts(CI, Builder);
     case LibFunc::log:
     case LibFunc::log10: