]> granicus.if.org Git - clang/commitdiff
[analyzer] Add a statistic for the number of times we reach the max
authorAnna Zaks <ganna@apple.com>
Fri, 16 Mar 2012 23:24:13 +0000 (23:24 +0000)
committerAnna Zaks <ganna@apple.com>
Fri, 16 Mar 2012 23:24:13 +0000 (23:24 +0000)
number of steps in the work list.

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

lib/StaticAnalyzer/Core/CoreEngine.cpp

index 326ecbfbfbcb78252a6f4b4106ae281c6f7daa6e..40af96a214b90960c34ae8c6e14cb44321b77803 100644 (file)
@@ -12,6 +12,8 @@
 //
 //===----------------------------------------------------------------------===//
 
+#define DEBUG_TYPE "CoreEngine"
+
 #include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h"
 #include "clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h"
 #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h"
 #include "clang/AST/StmtCXX.h"
 #include "llvm/Support/Casting.h"
 #include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/Statistic.h"
+
 using namespace clang;
 using namespace ento;
 
+STATISTIC(NumReachedMaxSteps,
+            "The # of times we reached the max number of steps.");
+
 //===----------------------------------------------------------------------===//
 // Worklist classes for exploration of reachable states.
 //===----------------------------------------------------------------------===//
@@ -187,8 +194,10 @@ bool CoreEngine::ExecuteWorkList(const LocationContext *L, unsigned Steps,
 
   while (WList->hasWork()) {
     if (!UnlimitedSteps) {
-      if (Steps == 0)
+      if (Steps == 0) {
+        NumReachedMaxSteps++;
         break;
+      }
       --Steps;
     }