Move library call simplification statistic to instcombine
authorMeador Inge <meadori@codesourcery.com>
Fri, 30 Nov 2012 04:05:06 +0000 (04:05 +0000)
committerMeador Inge <meadori@codesourcery.com>
Fri, 30 Nov 2012 04:05:06 +0000 (04:05 +0000)
The simplify-libcalls pass maintained a statistic to count the number
of library calls that have been simplified.  Now that library call
simplification is being carried out in instcombine the statistic should
be moved to there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168975 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/InstCombine/InstCombineCalls.cpp
lib/Transforms/Scalar/SimplifyLibCalls.cpp

index b7b45a2473f430471181467f31ac3a39663a22a0..60244c7ce0a85b58e2375e53325c7fe08429f8a0 100644 (file)
 #include "InstCombine.h"
 #include "llvm/Support/CallSite.h"
 #include "llvm/DataLayout.h"
+#include "llvm/ADT/Statistic.h"
 #include "llvm/Analysis/MemoryBuiltins.h"
 #include "llvm/Transforms/Utils/BuildLibCalls.h"
 #include "llvm/Transforms/Utils/Local.h"
 using namespace llvm;
 
+STATISTIC(NumSimplified, "Number of library calls simplified");
+
 /// getPromotedType - Return the specified type promoted as it would be to pass
 /// though a va_arg area.
 static Type *getPromotedType(Type *Ty) {
@@ -785,8 +788,10 @@ static bool isSafeToEliminateVarargsCast(const CallSite CS,
 Instruction *InstCombiner::tryOptimizeCall(CallInst *CI, const DataLayout *TD) {
   if (CI->getCalledFunction() == 0) return 0;
 
-  if (Value *With = Simplifier->optimizeCall(CI))
+  if (Value *With = Simplifier->optimizeCall(CI)) {
+    ++NumSimplified;
     return CI->use_empty() ? CI : ReplaceInstUsesWith(*CI, With);
+  }
 
   return 0;
 }
index 43fff858a1eff713ee6330633fbfdbe722c8306e..0d3a2e0a5c8b64ca9d1c72bd497ef8c2784aca2d 100644 (file)
@@ -35,7 +35,6 @@
 #include "llvm/Config/config.h"            // FIXME: Shouldn't depend on host!
 using namespace llvm;
 
-STATISTIC(NumSimplified, "Number of library calls simplified");
 STATISTIC(NumAnnotated, "Number of attributes added to library functions");
 
 //===----------------------------------------------------------------------===//
@@ -193,7 +192,6 @@ bool SimplifyLibCalls::runOnFunction(Function &F) {
 
       // Something changed!
       Changed = true;
-      ++NumSimplified;
 
       // Inspect the instruction after the call (which was potentially just
       // added) next.