[analyzer] Add a statistic for the number of times we reach the max

number of steps in the work list.

llvm-svn: 152960
This commit is contained in:
Anna Zaks 2012-03-16 23:24:13 +00:00
parent 23f8c4a50c
commit bbea3e7780
1 changed files with 10 additions and 1 deletions

View 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"
@ -20,9 +22,14 @@
#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;
}