Home | History | Annotate | Download | only in Instrumentation

Lines Matching refs:DataFlowSanitizer

1 //===-- DataFlowSanitizer.cpp - dynamic data flow analysis ----------------===//
10 /// This file is a part of DataFlowSanitizer, a generalised dynamic data flow
42 /// DataFlowSanitizer::getShadowAddress below.
97 // which are described below under DataFlowSanitizer::WrapperKind.
104 // functions (see DataFlowSanitizer::InstrumentedABI below).
182 class DataFlowSanitizer : public ModulePass {
275 DataFlowSanitizer(
284 DataFlowSanitizer &DFS;
287 DataFlowSanitizer::InstrumentedABI IA;
307 DFSanFunction(DataFlowSanitizer &DFS, Function *F, bool IsNativeABI)
358 char DataFlowSanitizer::ID;
359 INITIALIZE_PASS(DataFlowSanitizer, "dfsan",
360 "DataFlowSanitizer: dynamic data flow analysis.", false, false)
366 return new DataFlowSanitizer(ABIListFiles, getArgTLS, getRetValTLS);
369 DataFlowSanitizer::DataFlowSanitizer(
380 FunctionType *DataFlowSanitizer::getArgsFunctionType(FunctionType *T) {
391 FunctionType *DataFlowSanitizer::getTrampolineFunctionType(FunctionType *T) {
403 FunctionType *DataFlowSanitizer::getCustomFunctionType(FunctionType *T) {
426 DataFlowSanitizer::doInitialization(Module &M) {
491 bool DataFlowSanitizer::isInstrumented(const Function *F) {
495 bool DataFlowSanitizer::isInstrumented(const GlobalAlias *GA) {
499 DataFlowSanitizer::InstrumentedABI DataFlowSanitizer::getInstrumentedABI() {
503 DataFlowSanitizer::WrapperKind DataFlowSanitizer::getWrapperKind(Function *F) {
514 void DataFlowSanitizer::addGlobalNamePrefix(GlobalValue *GV) {
534 DataFlowSanitizer::buildWrapperFunction(Function *F, StringRef NewFName,
571 Constant *DataFlowSanitizer::getOrBuildTrampolineFunction(FunctionType *FT,
604 bool DataFlowSanitizer::runOnModule(Module &M) {
904 case DataFlowSanitizer::IA_TLS: {
913 case DataFlowSanitizer::IA_Args: {
937 Value *DataFlowSanitizer::getShadowAddress(Value *Addr, Instruction *Pos) {
1383 case DataFlowSanitizer::IA_TLS: {
1389 case DataFlowSanitizer::IA_Args: {
1426 case DataFlowSanitizer::WK_Warning: {
1433 case DataFlowSanitizer::WK_Discard: {
1438 case DataFlowSanitizer::WK_Functional: {
1443 case DataFlowSanitizer::WK_Custom: {
1536 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_TLS) {
1558 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_TLS) {
1569 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_Args) {