[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