summaryrefslogtreecommitdiff
path: root/lib/Transforms/Instrumentation/GCOVProfiling.cpp
diff options
context:
space:
mode:
authorYuchen Wu <yuchenericwu@hotmail.com>2013-11-21 04:53:39 +0000
committerYuchen Wu <yuchenericwu@hotmail.com>2013-11-21 04:53:39 +0000
commit1155e0e912bdad1b9cdb4735e3cd8c23d4e1db14 (patch)
treefdc60567e6d06f518543e116f3cc659afa6beafe /lib/Transforms/Instrumentation/GCOVProfiling.cpp
parent53daa8e8f3c8fafc213965c2e7ff966e35610e7b (diff)
downloadllvm-1155e0e912bdad1b9cdb4735e3cd8c23d4e1db14.tar.gz
llvm-1155e0e912bdad1b9cdb4735e3cd8c23d4e1db14.tar.bz2
llvm-1155e0e912bdad1b9cdb4735e3cd8c23d4e1db14.tar.xz
llvm-cov: Don't assume FileChecksum was generated.
For cases where emitProfileArcs() was called but emitProfileNotes() was not, set the CfgChecksum to 0. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195311 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/Instrumentation/GCOVProfiling.cpp')
-rw-r--r--lib/Transforms/Instrumentation/GCOVProfiling.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/lib/Transforms/Instrumentation/GCOVProfiling.cpp
index 63227f9972..13472f038d 100644
--- a/lib/Transforms/Instrumentation/GCOVProfiling.cpp
+++ b/lib/Transforms/Instrumentation/GCOVProfiling.cpp
@@ -803,10 +803,11 @@ Function *GCOVProfiler::insertCounterWriteout(
for (unsigned i = 0, e = CU_Nodes->getNumOperands(); i != e; ++i) {
DICompileUnit CU(CU_Nodes->getOperand(i));
std::string FilenameGcda = mangleName(CU, "gcda");
+ uint32_t CfgChecksum = FileChecksums.size() ? FileChecksums[i] : 0;
Builder.CreateCall3(StartFile,
Builder.CreateGlobalStringPtr(FilenameGcda),
Builder.CreateGlobalStringPtr(ReversedVersion),
- Builder.getInt32(FileChecksums[i]));
+ Builder.getInt32(CfgChecksum));
for (unsigned j = 0, e = CountersBySP.size(); j != e; ++j) {
DISubprogram SP(CountersBySP[j].second);
Builder.CreateCall4(
@@ -815,7 +816,7 @@ Function *GCOVProfiler::insertCounterWriteout(
Builder.CreateGlobalStringPtr(getFunctionName(SP)) :
Constant::getNullValue(Builder.getInt8PtrTy()),
Builder.getInt8(Options.UseCfgChecksum),
- Builder.getInt32(FileChecksums[i]));
+ Builder.getInt32(CfgChecksum));
GlobalVariable *GV = CountersBySP[j].first;
unsigned Arcs =