llvm-cov: Fix dropped lines when filters were applied

Uncovered lines in the middle of a covered region weren't being shown
when filtering to a particular function.

llvm-svn: 218109
diff --git a/llvm/tools/llvm-cov/SourceCoverageView.cpp b/llvm/tools/llvm-cov/SourceCoverageView.cpp
index 2ad3e14..3be54f8 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.cpp
+++ b/llvm/tools/llvm-cov/SourceCoverageView.cpp
@@ -163,6 +163,7 @@
   auto NextSegment = CoverageSegments.begin();
   auto EndSegment = CoverageSegments.end();
 
+  unsigned FirstLine = NextSegment != EndSegment ? NextSegment->Line : 0;
   const CoverageSegment *WrappedSegment = nullptr;
   SmallVector<const CoverageSegment *, 8> LineSegments;
   for (line_iterator LI(File, /*SkipBlanks=*/false); !LI.is_at_eof(); ++LI) {
@@ -171,7 +172,7 @@
     if (!WholeFile) {
       if (NextSegment == EndSegment)
         break;
-      else if (LI.line_number() < NextSegment->Line)
+      else if (LI.line_number() < FirstLine)
         continue;
     }