LLVM  3.7.0
Macros | Functions | Variables
SanitizerCoverage.cpp File Reference
#include "llvm/Transforms/Instrumentation.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/CallSite.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/DebugInfo.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InlineAsm.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/ModuleUtils.h"
Include dependency graph for SanitizerCoverage.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "sancov"
 

Functions

 INITIALIZE_PASS (SanitizerCoverageModule,"sancov","SanitizerCoverage: TODO.""ModulePass", false, false) ModulePass *llvm
 

Variables

static const char *const kSanCovModuleInitName = "__sanitizer_cov_module_init"
 
static const char *const kSanCovName = "__sanitizer_cov"
 
static const char *const kSanCovWithCheckName = "__sanitizer_cov_with_check"
 
static const char *const kSanCovIndirCallName = "__sanitizer_cov_indir_call16"
 
static const char *const kSanCovTraceEnter = "__sanitizer_cov_trace_func_enter"
 
static const char *const kSanCovTraceBB = "__sanitizer_cov_trace_basic_block"
 
static const char *const kSanCovTraceCmp = "__sanitizer_cov_trace_cmp"
 
static const char *const kSanCovModuleCtorName = "sancov.module_ctor"
 
static const uint64_t kSanCtorAndDtorPriority = 2
 
static cl::opt< intClCoverageLevel ("sanitizer-coverage-level", cl::desc("Sanitizer Coverage. 0: none, 1: entry block, 2: all blocks, ""3: all blocks and critical edges, ""4: above plus indirect calls"), cl::Hidden, cl::init(0))
 
static cl::opt< unsignedClCoverageBlockThreshold ("sanitizer-coverage-block-threshold", cl::desc("Use a callback with a guard check inside it if there are"" more than this number of blocks."), cl::Hidden, cl::init(500))
 
static cl::opt< boolClExperimentalTracing ("sanitizer-coverage-experimental-tracing", cl::desc("Experimental basic-block tracing: insert ""callbacks at every basic block"), cl::Hidden, cl::init(false))
 
static cl::opt< boolClExperimentalCMPTracing ("sanitizer-coverage-experimental-trace-compares", cl::desc("Experimental tracing of CMP and similar ""instructions"), cl::Hidden, cl::init(false))
 
static cl::opt< boolClUse8bitCounters ("sanitizer-coverage-8bit-counters", cl::desc("Experimental 8-bit counters"), cl::Hidden, cl::init(false))
 

Macro Definition Documentation

#define DEBUG_TYPE   "sancov"

Definition at line 53 of file SanitizerCoverage.cpp.

Function Documentation

INITIALIZE_PASS ( SanitizerCoverageModule  ,
"sancov"  ,
"SanitizerCoverage: TODO.""ModulePass ,
false  ,
false   
)

Definition at line 451 of file SanitizerCoverage.cpp.

Variable Documentation

cl::opt<unsigned> ClCoverageBlockThreshold("sanitizer-coverage-block-threshold", cl::desc("Use a callback with a guard check inside it if there are"" more than this number of blocks."), cl::Hidden, cl::init(500))
static
cl::opt<int> ClCoverageLevel("sanitizer-coverage-level", cl::desc("Sanitizer Coverage. 0: none, 1: entry block, 2: all blocks, ""3: all blocks and critical edges, ""4: above plus indirect calls"), cl::Hidden, cl::init(0))
static
cl::opt<bool> ClExperimentalCMPTracing("sanitizer-coverage-experimental-trace-compares", cl::desc("Experimental tracing of CMP and similar ""instructions"), cl::Hidden, cl::init(false))
static
cl::opt<bool> ClExperimentalTracing("sanitizer-coverage-experimental-tracing", cl::desc("Experimental basic-block tracing: insert ""callbacks at every basic block"), cl::Hidden, cl::init(false))
static
cl::opt<bool> ClUse8bitCounters("sanitizer-coverage-8bit-counters", cl::desc("Experimental 8-bit counters"), cl::Hidden, cl::init(false))
static
const char* const kSanCovIndirCallName = "__sanitizer_cov_indir_call16"
static

Definition at line 58 of file SanitizerCoverage.cpp.

const char* const kSanCovModuleCtorName = "sancov.module_ctor"
static

Definition at line 62 of file SanitizerCoverage.cpp.

const char* const kSanCovModuleInitName = "__sanitizer_cov_module_init"
static

Definition at line 55 of file SanitizerCoverage.cpp.

const char* const kSanCovName = "__sanitizer_cov"
static

Definition at line 56 of file SanitizerCoverage.cpp.

const char* const kSanCovTraceBB = "__sanitizer_cov_trace_basic_block"
static

Definition at line 60 of file SanitizerCoverage.cpp.

const char* const kSanCovTraceCmp = "__sanitizer_cov_trace_cmp"
static

Definition at line 61 of file SanitizerCoverage.cpp.

const char* const kSanCovTraceEnter = "__sanitizer_cov_trace_func_enter"
static

Definition at line 59 of file SanitizerCoverage.cpp.

const char* const kSanCovWithCheckName = "__sanitizer_cov_with_check"
static

Definition at line 57 of file SanitizerCoverage.cpp.

const uint64_t kSanCtorAndDtorPriority = 2
static

Definition at line 63 of file SanitizerCoverage.cpp.