summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ProfileData/CoverageMappingWriter.cpp
diff options
context:
space:
mode:
authorAlex Lorenz <arphaman@gmail.com>2014-08-04 18:00:51 +0000
committerAlex Lorenz <arphaman@gmail.com>2014-08-04 18:00:51 +0000
commit1193b5e272db7aa969380e95503b2512d3f17270 (patch)
treef449383b6a6234fec10c9daaac40dc759327077d /llvm/lib/ProfileData/CoverageMappingWriter.cpp
parent95305e9d79208c0a944986be69f54c2cfccd32aa (diff)
downloadbcm5719-llvm-1193b5e272db7aa969380e95503b2512d3f17270.tar.gz
bcm5719-llvm-1193b5e272db7aa969380e95503b2512d3f17270.zip
Coverage: add HasCodeBefore flag to a mapping region.
This flag will be used by the coverage tool to help compute the execution counts for each line in a source file. Differential Revision: http://reviews.llvm.org/D4746 llvm-svn: 214740
Diffstat (limited to 'llvm/lib/ProfileData/CoverageMappingWriter.cpp')
-rw-r--r--llvm/lib/ProfileData/CoverageMappingWriter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/ProfileData/CoverageMappingWriter.cpp b/llvm/lib/ProfileData/CoverageMappingWriter.cpp
index f9bbe61fb48..f5e6ab46380 100644
--- a/llvm/lib/ProfileData/CoverageMappingWriter.cpp
+++ b/llvm/lib/ProfileData/CoverageMappingWriter.cpp
@@ -181,7 +181,11 @@ void CoverageMappingWriter::write(raw_ostream &OS) {
}
assert(I.LineStart >= PrevLineStart);
encodeULEB128(I.LineStart - PrevLineStart, OS);
- encodeULEB128(I.ColumnStart, OS);
+ uint64_t CodeBeforeColumnStart =
+ uint64_t(I.HasCodeBefore) |
+ (uint64_t(I.ColumnStart)
+ << CounterMappingRegion::EncodingHasCodeBeforeBits);
+ encodeULEB128(CodeBeforeColumnStart, OS);
assert(I.LineEnd >= I.LineStart);
encodeULEB128(I.LineEnd - I.LineStart, OS);
encodeULEB128(I.ColumnEnd, OS);
OpenPOWER on IntegriCloud