[llvm] r274758 - Addressing post-commit comments for not rewriting fputs:

Sjoerd Meijer via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 7 07:31:19 PDT 2016


Author: sjoerdmeijer
Date: Thu Jul  7 09:31:19 2016
New Revision: 274758

URL: http://llvm.org/viewvc/llvm-project?rev=274758&view=rev
Log:
Addressing post-commit comments for not rewriting fputs:
moved the optimise for size check inside function optimizeFPuts.

Modified:
    llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp

Modified: llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp?rev=274758&r1=274757&r2=274758&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/SimplifyLibCalls.cpp Thu Jul  7 09:31:19 2016
@@ -1836,6 +1836,11 @@ Value *LibCallSimplifier::optimizeFWrite
 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 @@ Value *LibCallSimplifier::optimizeCall(C
     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:




More information about the llvm-commits mailing list