[sanitizer] allow -fsanitize-coverage=N w/ -fsanitize=leak, llvm part

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224463 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Kostya Serebryany 2014-12-17 21:50:04 +00:00
parent a1a68905b5
commit 1c97c5e8bd

View File

@ -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;