diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp | 6 | 
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp index 07223d4df5c..9293362235b 100644 --- a/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp +++ b/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp @@ -171,10 +171,8 @@ bool SanitizerCoverageModule::runOnModule(Module &M) {  bool SanitizerCoverageModule::runOnFunction(Function &F) {    if (F.empty()) return false; -  // For now instrument only functions that will also be asan-instrumented. -  if (!F.hasFnAttribute(Attribute::SanitizeAddress) && -      !F.hasFnAttribute(Attribute::SanitizeMemory)) -    return false; +  if (F.getName().find(".module_ctor") != std::string::npos) +    return false;  // Should not instrument sanitizer init functions.    if (CoverageLevel >= 3)      SplitAllCriticalEdges(F, this);    SmallVector<Instruction*, 8> IndirCalls;  | 

