diff options
author | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2014-05-28 09:26:46 +0000 |
---|---|---|
committer | Evgeniy Stepanov <eugeni.stepanov@gmail.com> | 2014-05-28 09:26:46 +0000 |
commit | 0949668398f546d97b05076befb40a9cf6359da0 (patch) | |
tree | cdcec9e6f0ea60ab8f0ffd87d8ed441c90be13e1 /lib/Transforms | |
parent | d8ba67b97b57de51b302f4de8084b5c3dcce0280 (diff) | |
download | llvm-0949668398f546d97b05076befb40a9cf6359da0.tar.gz llvm-0949668398f546d97b05076befb40a9cf6359da0.tar.bz2 llvm-0949668398f546d97b05076befb40a9cf6359da0.tar.xz |
[asancov] Don't emit extra runtime calls when compiling without coverage.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209721 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r-- | lib/Transforms/Instrumentation/AddressSanitizer.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/lib/Transforms/Instrumentation/AddressSanitizer.cpp index 95fca75392..f8cdb9f8f3 100644 --- a/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -1030,9 +1030,11 @@ bool AddressSanitizerModule::runOnModule(Module &M) { assert(CtorFunc); IRBuilder<> IRB(CtorFunc->getEntryBlock().getTerminator()); - Function *CovFunc = M.getFunction(kAsanCovName); - int nCov = CovFunc ? CovFunc->getNumUses() : 0; - IRB.CreateCall(AsanCovModuleInit, ConstantInt::get(IntptrTy, nCov)); + if (ClCoverage > 0) { + Function *CovFunc = M.getFunction(kAsanCovName); + int nCov = CovFunc ? CovFunc->getNumUses() : 0; + IRB.CreateCall(AsanCovModuleInit, ConstantInt::get(IntptrTy, nCov)); + } size_t n = GlobalsToChange.size(); if (n == 0) return false; |