summaryrefslogtreecommitdiff
path: root/lib/Transforms
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-05-28 09:26:46 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-05-28 09:26:46 +0000
commit0949668398f546d97b05076befb40a9cf6359da0 (patch)
treecdcec9e6f0ea60ab8f0ffd87d8ed441c90be13e1 /lib/Transforms
parentd8ba67b97b57de51b302f4de8084b5c3dcce0280 (diff)
downloadllvm-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.cpp8
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;