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.
86 // which are described below under DataFlowSanitizer::WrapperKind.
93 // functions (see DataFlowSanitizer::InstrumentedABI below).
168 class DataFlowSanitizer : public ModulePass {
258 DataFlowSanitizer(StringRef ABIListFile = StringRef(),
267 DataFlowSanitizer &DFS;
269 DataFlowSanitizer::InstrumentedABI IA;
280 DFSanFunction(DataFlowSanitizer &DFS, Function *F, bool IsNativeABI)
325 char DataFlowSanitizer::ID;
326 INITIALIZE_PASS(DataFlowSanitizer, "dfsan",
327 "DataFlowSanitizer: dynamic data flow analysis.", false, false)
332 return new DataFlowSanitizer(ABIListFile, getArgTLS, getRetValTLS);
335 DataFlowSanitizer::DataFlowSanitizer(StringRef ABIListFile,
343 FunctionType *DataFlowSanitizer::getArgsFunctionType(FunctionType *T) {
356 FunctionType *DataFlowSanitizer::getTrampolineFunctionType(FunctionType *T) {
369 FunctionType *DataFlowSanitizer::getCustomFunctionType(FunctionType *T) {
391 bool DataFlowSanitizer::doInitialization(Module &M) {
442 bool DataFlowSanitizer::isInstrumented(const Function *F) {
446 bool DataFlowSanitizer::isInstrumented(const GlobalAlias *GA) {
450 DataFlowSanitizer::InstrumentedABI DataFlowSanitizer::getInstrumentedABI() {
454 DataFlowSanitizer::WrapperKind DataFlowSanitizer::getWrapperKind(Function *F) {
465 void DataFlowSanitizer::addGlobalNamePrefix(GlobalValue *GV) {
485 DataFlowSanitizer::buildWrapperFunction(Function *F, StringRef NewFName,
511 Constant *DataFlowSanitizer::getOrBuildTrampolineFunction(FunctionType *FT,
544 bool DataFlowSanitizer::runOnModule(Module &M) {
831 case DataFlowSanitizer::IA_TLS: {
840 case DataFlowSanitizer::IA_Args: {
864 Value *DataFlowSanitizer::getShadowAddress(Value *Addr, Instruction *Pos) {
876 Value *DataFlowSanitizer::combineShadows(Value *V1, Value *V2,
1229 case DataFlowSanitizer::IA_TLS: {
1235 case DataFlowSanitizer::IA_Args: {
1263 case DataFlowSanitizer::WK_Warning: {
1270 case DataFlowSanitizer::WK_Discard: {
1275 case DataFlowSanitizer::WK_Functional: {
1280 case DataFlowSanitizer::WK_Custom: {
1356 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_TLS) {
1377 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_TLS) {
1388 if (DFSF.DFS.getInstrumentedABI() == DataFlowSanitizer::IA_Args) {