diff options
author | Sjoerd Meijer <sjoerd.meijer@arm.com> | 2016-07-07 13:56:23 +0000 |
---|---|---|
committer | Sjoerd Meijer <sjoerd.meijer@arm.com> | 2016-07-07 13:56:23 +0000 |
commit | 17c08dc7013419b792505f0cad9831b59116e1d4 (patch) | |
tree | 3e838894d53576a17c66328dfa545b3214455707 /llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | |
parent | 4225342e95a2f20d5d47c5f9bed734aa515b7df0 (diff) | |
download | bcm5719-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.cpp | 2 |
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: |