summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
diff options
context:
space:
mode:
authorSjoerd Meijer <sjoerd.meijer@arm.com>2016-07-07 13:56:23 +0000
committerSjoerd Meijer <sjoerd.meijer@arm.com>2016-07-07 13:56:23 +0000
commit17c08dc7013419b792505f0cad9831b59116e1d4 (patch)
tree3e838894d53576a17c66328dfa545b3214455707 /llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
parent4225342e95a2f20d5d47c5f9bed734aa515b7df0 (diff)
downloadbcm5719-llvm-17c08dc7013419b792505f0cad9831b59116e1d4.tar.gz
bcm5719-llvm-17c08dc7013419b792505f0cad9831b59116e1d4.zip
Code size optimisation: don't rewrite fputs to fwrite when optimising for size
because fwrite requires more arguments and thus extra MOVs are required. llvm-svn: 274753
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
index d0fb0d32b3a..9bba359ce71 100644
--- a/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+++ b/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
@@ -2056,6 +2056,8 @@ Value *LibCallSimplifier::optimizeCall(CallInst *CI) {
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:
OpenPOWER on IntegriCloud