klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
StatsTracker.cpp File Reference
#include "Common.h"
#include "StatsTracker.h"
#include "klee/ExecutionState.h"
#include "klee/Statistics.h"
#include "klee/Config/Version.h"
#include "klee/Internal/Module/InstructionInfoTable.h"
#include "klee/Internal/Module/KModule.h"
#include "klee/Internal/Module/KInstruction.h"
#include "klee/Internal/Support/ModuleUtil.h"
#include "klee/Internal/System/Time.h"
#include "CallPathManager.h"
#include "CoreStats.h"
#include "Executor.h"
#include "MemoryManager.h"
#include "UserSearcher.h"
#include "../Solver/SolverStats.h"
#include "llvm/BasicBlock.h"
#include "llvm/Function.h"
#include "llvm/Instructions.h"
#include "llvm/IntrinsicInst.h"
#include "llvm/InlineAsm.h"
#include "llvm/Module.h"
#include "llvm/Type.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/CFG.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/FileSystem.h"
#include <fstream>
#include <unistd.h>
Include dependency graph for StatsTracker.cpp:

Go to the source code of this file.

Classes

class  klee::WriteIStatsTimer
 
class  klee::WriteStatsTimer
 
class  klee::UpdateReachableTimer
 

Namespaces

 klee
 

Typedefs

typedef std::map< Instruction
*, std::vector< Function * > > 
calltargets_ty
 

Functions

static bool instructionIsCoverable (Instruction *i)
 
static std::vector< Instruction * > getSuccs (Instruction *i)
 

Variables

static calltargets_ty callTargets
 
static std::map< Function
*, std::vector< Instruction * > > 
functionCallers
 
static std::map< Function
*, unsigned > 
functionShortestPath
 

Typedef Documentation

typedef std::map<Instruction*, std::vector<Function*> > calltargets_ty

Definition at line 575 of file StatsTracker.cpp.

Function Documentation

static std::vector<Instruction*> getSuccs ( Instruction *  i)
static

Definition at line 581 of file StatsTracker.cpp.

Referenced by klee::StatsTracker::computeReachableUncovered().

Here is the caller graph for this function:

static bool instructionIsCoverable ( Instruction *  i)
static

Check for special cases where we statically know an instruction is uncoverable. Currently the case is an unreachable instruction following a noreturn call; the instruction is really only there to satisfy LLVM's termination requirement.

Definition at line 150 of file StatsTracker.cpp.

References klee::getDirectCallTarget().

Referenced by klee::StatsTracker::StatsTracker(), and klee::StatsTracker::stepInstruction().

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

calltargets_ty callTargets
static

Definition at line 577 of file StatsTracker.cpp.

Referenced by klee::StatsTracker::computeReachableUncovered().

std::map<Function*, std::vector<Instruction*> > functionCallers
static

Definition at line 578 of file StatsTracker.cpp.

Referenced by klee::StatsTracker::computeReachableUncovered().

std::map<Function*, unsigned> functionShortestPath
static

Definition at line 579 of file StatsTracker.cpp.

Referenced by klee::StatsTracker::computeReachableUncovered().