Lines Matching defs:DataFlowSanitizer
1 //===- DataFlowSanitizer.cpp - dynamic data flow analysis -----------------===//
10 /// This file is a part of DataFlowSanitizer, a generalised dynamic data flow
62 #include "llvm/Transforms/Instrumentation/DataFlowSanitizer.h"
150 // DataFlowSanitizer::WrapperKind.
418 class DataFlowSanitizer {
575 DataFlowSanitizer(const std::vector<std::string> &ABIListFiles);
582 DataFlowSanitizer &DFS;
618 DFSanFunction(DataFlowSanitizer &DFS, Function *F, bool IsNativeABI,
869 DataFlowSanitizer::DataFlowSanitizer(
881 TransformedFunction DataFlowSanitizer::getCustomFunctionType(FunctionType *T) {
916 bool DataFlowSanitizer::isZeroShadow(Value *V) {
927 bool DataFlowSanitizer::hasLoadSizeForFastPath(uint64_t Size) {
932 bool DataFlowSanitizer::shouldTrackOrigins() {
937 Constant *DataFlowSanitizer::getZeroShadow(Type *OrigTy) {
944 Constant *DataFlowSanitizer::getZeroShadow(Value *V) {
1106 Type *DataFlowSanitizer::getShadowTy(Type *OrigTy) {
1125 Type *DataFlowSanitizer::getShadowTy(Value *V) {
1129 bool DataFlowSanitizer::initializeModule(Module &M) {
1236 bool DataFlowSanitizer::isInstrumented(const Function *F) {
1240 bool DataFlowSanitizer::isInstrumented(const GlobalAlias *GA) {
1244 bool DataFlowSanitizer::isForceZeroLabels(const Function *F) {
1248 DataFlowSanitizer::WrapperKind DataFlowSanitizer::getWrapperKind(Function *F) {
1259 void DataFlowSanitizer::addGlobalNameSuffix(GlobalValue *GV) {
1283 void DataFlowSanitizer::buildExternWeakCheckIfNeeded(IRBuilder<> &IRB,
1301 DataFlowSanitizer::buildWrapperFunction(Function *F, StringRef NewFName,
1331 // Initialize DataFlowSanitizer runtime functions and declare them in the module
1332 void DataFlowSanitizer::initializeRuntimeFunctions(Module &M) {
1446 void DataFlowSanitizer::initializeCallbackFunctions(Module &M) {
1496 bool DataFlowSanitizer::runImpl(
1900 Value *DataFlowSanitizer::getShadowOffset(Value *Addr, IRBuilder<> &IRB) {
1916 DataFlowSanitizer::getShadowOriginAddress(Value *Addr, Align InstAlignment,
1947 Value *DataFlowSanitizer::getShadowAddress(Value *Addr,
1954 Value *DataFlowSanitizer::getShadowAddress(Value *Addr,
2138 Value *DataFlowSanitizer::loadNextOrigin(BasicBlock::iterator Pos,
2467 const unsigned OriginSize = DataFlowSanitizer::OriginWidthBytes;
2480 const unsigned OriginSize = DataFlowSanitizer::OriginWidthBytes;
3081 case DataFlowSanitizer::WK_Warning:
3089 case DataFlowSanitizer::WK_Discard:
3095 case DataFlowSanitizer::WK_Functional:
3100 case DataFlowSanitizer::WK_Custom:
3479 if (!DataFlowSanitizer(ABIListFiles).runImpl(M, GetTLI))