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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214740 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alex Lorenz
2014-08-04 18:00:51 +00:00
parent b88bbc0e9d
commit aafa4b5c86
3 changed files with 24 additions and 9 deletions

View File

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