From 17c08dc7013419b792505f0cad9831b59116e1d4 Mon Sep 17 00:00:00 2001 From: Sjoerd Meijer Date: Thu, 7 Jul 2016 13:56:23 +0000 Subject: 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 --- llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp') 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: -- cgit v1.2.3