summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/ProfileData/CoverageMapping.h11
-rw-r--r--llvm/lib/ProfileData/CoverageMappingReader.cpp13
-rw-r--r--llvm/lib/ProfileData/CoverageMappingWriter.cpp6
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/highlightedRanges.covmappingbin355 -> 355 bytes
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/regionMarkers.covmappingbin194 -> 202 bytes
-rw-r--r--llvm/test/tools/llvm-cov/Inputs/showExpansions.covmappingbin194 -> 250 bytes
-rw-r--r--llvm/test/tools/llvm-cov/showHighlightedRanges.cpp12
7 files changed, 14 insertions, 28 deletions
diff --git a/llvm/include/llvm/ProfileData/CoverageMapping.h b/llvm/include/llvm/ProfileData/CoverageMapping.h
index 7c88977cb29..61aad3b3bc3 100644
--- a/llvm/include/llvm/ProfileData/CoverageMapping.h
+++ b/llvm/include/llvm/ProfileData/CoverageMapping.h
@@ -158,24 +158,17 @@ struct CounterMappingRegion {
SkippedRegion
};
- static const unsigned EncodingHasCodeBeforeBits = 1;
-
Counter Count;
unsigned FileID, ExpandedFileID;
unsigned LineStart, ColumnStart, LineEnd, ColumnEnd;
RegionKind Kind;
- /// \brief A flag that is set to true when there is already code before
- /// this region on the same line.
- /// This is useful to accurately compute the execution counts for a line.
- bool HasCodeBefore;
CounterMappingRegion(Counter Count, unsigned FileID, unsigned LineStart,
unsigned ColumnStart, unsigned LineEnd,
- unsigned ColumnEnd, bool HasCodeBefore = false,
- RegionKind Kind = CodeRegion)
+ unsigned ColumnEnd, RegionKind Kind = CodeRegion)
: Count(Count), FileID(FileID), ExpandedFileID(0), LineStart(LineStart),
ColumnStart(ColumnStart), LineEnd(LineEnd), ColumnEnd(ColumnEnd),
- Kind(Kind), HasCodeBefore(HasCodeBefore) {}
+ Kind(Kind) {}
inline std::pair<unsigned, unsigned> startLoc() const {
return std::pair<unsigned, unsigned>(LineStart, ColumnStart);
diff --git a/llvm/lib/ProfileData/CoverageMappingReader.cpp b/llvm/lib/ProfileData/CoverageMappingReader.cpp
index 71ce22aec9e..423947d132f 100644
--- a/llvm/lib/ProfileData/CoverageMappingReader.cpp
+++ b/llvm/lib/ProfileData/CoverageMappingReader.cpp
@@ -173,15 +173,12 @@ std::error_code RawCoverageMappingReader::readMappingRegionsSubArray(
}
// Read the source range.
- uint64_t LineStartDelta, CodeBeforeColumnStart, NumLines, ColumnEnd;
+ uint64_t LineStartDelta, ColumnStart, NumLines, ColumnEnd;
if (auto Err =
readIntMax(LineStartDelta, std::numeric_limits<unsigned>::max()))
return Err;
- if (auto Err = readULEB128(CodeBeforeColumnStart))
+ if (auto Err = readULEB128(ColumnStart))
return Err;
- bool HasCodeBefore = CodeBeforeColumnStart & 1;
- uint64_t ColumnStart = CodeBeforeColumnStart >>
- CounterMappingRegion::EncodingHasCodeBeforeBits;
if (ColumnStart > std::numeric_limits<unsigned>::max())
return error(instrprof_error::malformed);
if (auto Err = readIntMax(NumLines, std::numeric_limits<unsigned>::max()))
@@ -213,9 +210,9 @@ std::error_code RawCoverageMappingReader::readMappingRegionsSubArray(
dbgs() << "\n";
});
- MappingRegions.push_back(CounterMappingRegion(
- C, InferredFileID, LineStart, ColumnStart, LineStart + NumLines,
- ColumnEnd, HasCodeBefore, Kind));
+ MappingRegions.push_back(
+ CounterMappingRegion(C, InferredFileID, LineStart, ColumnStart,
+ LineStart + NumLines, ColumnEnd, Kind));
MappingRegions.back().ExpandedFileID = ExpandedFileID;
}
return success();
diff --git a/llvm/lib/ProfileData/CoverageMappingWriter.cpp b/llvm/lib/ProfileData/CoverageMappingWriter.cpp
index 6969c2a1242..aef5511fc0e 100644
--- a/llvm/lib/ProfileData/CoverageMappingWriter.cpp
+++ b/llvm/lib/ProfileData/CoverageMappingWriter.cpp
@@ -172,11 +172,7 @@ void CoverageMappingWriter::write(raw_ostream &OS) {
}
assert(I->LineStart >= PrevLineStart);
encodeULEB128(I->LineStart - PrevLineStart, OS);
- uint64_t CodeBeforeColumnStart =
- uint64_t(I->HasCodeBefore) |
- (uint64_t(I->ColumnStart)
- << CounterMappingRegion::EncodingHasCodeBeforeBits);
- encodeULEB128(CodeBeforeColumnStart, OS);
+ encodeULEB128(I->ColumnStart, OS);
assert(I->LineEnd >= I->LineStart);
encodeULEB128(I->LineEnd - I->LineStart, OS);
encodeULEB128(I->ColumnEnd, OS);
diff --git a/llvm/test/tools/llvm-cov/Inputs/highlightedRanges.covmapping b/llvm/test/tools/llvm-cov/Inputs/highlightedRanges.covmapping
index 20eb0d7e8df..e97320b7855 100644
--- a/llvm/test/tools/llvm-cov/Inputs/highlightedRanges.covmapping
+++ b/llvm/test/tools/llvm-cov/Inputs/highlightedRanges.covmapping
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/Inputs/regionMarkers.covmapping b/llvm/test/tools/llvm-cov/Inputs/regionMarkers.covmapping
index 3ebcb0777af..501cba2b734 100644
--- a/llvm/test/tools/llvm-cov/Inputs/regionMarkers.covmapping
+++ b/llvm/test/tools/llvm-cov/Inputs/regionMarkers.covmapping
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping b/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping
index b8c7d9711af..e02a7281b00 100644
--- a/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping
+++ b/llvm/test/tools/llvm-cov/Inputs/showExpansions.covmapping
Binary files differ
diff --git a/llvm/test/tools/llvm-cov/showHighlightedRanges.cpp b/llvm/test/tools/llvm-cov/showHighlightedRanges.cpp
index cec730829e0..1ff7929ee75 100644
--- a/llvm/test/tools/llvm-cov/showHighlightedRanges.cpp
+++ b/llvm/test/tools/llvm-cov/showHighlightedRanges.cpp
@@ -2,17 +2,17 @@
void func() {
return;
- int i = 0; // CHECK: Highlighted line [[@LINE]], 3 -> 12
-}
+ int i = 0; // CHECK: Highlighted line [[@LINE]], 3 -> ?
+} // CHECK: Highlighted line [[@LINE]], 1 -> 2
void func2(int x) {
if(x > 5) {
while(x >= 9) {
return;
- --x; // CHECK: Highlighted line [[@LINE]], 7 -> 10
- }
- int i = 0; // CHECK: Highlighted line [[@LINE]], 5 -> 14
- }
+ --x; // CHECK: Highlighted line [[@LINE]], 7 -> ?
+ } // CHECK: Highlighted line [[@LINE]], 1 -> 6
+ int i = 0; // CHECK: Highlighted line [[@LINE]], 5 -> ?
+ } // CHECK: Highlighted line [[@LINE]], 1 -> 4
}
void test() {
OpenPOWER on IntegriCloud