Count more accurately
authorChris Lattner <sabre@nondot.org>
Mon, 15 Nov 2004 07:02:42 +0000 (07:02 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 15 Nov 2004 07:02:42 +0000 (07:02 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17824 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Scalar/SCCP.cpp

index f3025523bcd13136252f4a394fc9d7061538a92c..9b552014077e6e76c8e50c575831015e3ea5633b 100644 (file)
@@ -44,6 +44,7 @@ using namespace llvm;
 //
 namespace {
   Statistic<> NumInstRemoved("sccp", "Number of instructions removed");
+  Statistic<> NumDeadBlocks ("sccp", "Number of basic blocks unreachable");
 
 class LatticeVal {
   enum { 
@@ -853,6 +854,8 @@ bool SCCP::runOnFunction(Function &F) {
   for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
     if (!ExecutableBBs.count(BB)) {
       DEBUG(std::cerr << "  BasicBlock Dead:" << *BB);
+      ++NumDeadBlocks;
+
       // Delete the instructions backwards, as it has a reduced likelihood of
       // having to update as many def-use and use-def chains.
       std::vector<Instruction*> Insts;
@@ -866,6 +869,7 @@ bool SCCP::runOnFunction(Function &F) {
           I->replaceAllUsesWith(UndefValue::get(I->getType()));
         BB->getInstList().erase(I);
         MadeChanges = true;
+        ++NumInstRemoved;
       }
     }