diff --git a/llvm/tools/llvm-cov/SourceCoverageView.h b/llvm/tools/llvm-cov/SourceCoverageView.h
index 501c17d..35dea59 100644
--- a/llvm/tools/llvm-cov/SourceCoverageView.h
+++ b/llvm/tools/llvm-cov/SourceCoverageView.h
@@ -22,15 +22,17 @@
 
 namespace llvm {
 
+using namespace coverage;
+
 class CoverageFiltersMatchAll;
 class SourceCoverageView;
 
 /// \brief A view that represents a macro or include expansion.
 struct ExpansionView {
-  coverage::CounterMappingRegion Region;
+  CounterMappingRegion Region;
   std::unique_ptr<SourceCoverageView> View;
 
-  ExpansionView(const coverage::CounterMappingRegion &Region,
+  ExpansionView(const CounterMappingRegion &Region,
                 std::unique_ptr<SourceCoverageView> View)
       : Region(Region), View(std::move(View)) {}
   ExpansionView(ExpansionView &&RHS)
@@ -112,7 +114,7 @@
 
   /// \brief Create an index which lists reports for the given source files.
   virtual Error createIndexFile(ArrayRef<std::string> SourceFiles,
-                                const coverage::CoverageMapping &Coverage,
+                                const CoverageMapping &Coverage,
                                 const CoverageFiltersMatchAll &Filters) = 0;
 
   /// @}
@@ -134,7 +136,7 @@
   const CoverageViewOptions &Options;
 
   /// Complete coverage information about the source on display.
-  coverage::CoverageData CoverageInfo;
+  CoverageData CoverageInfo;
 
   /// A container for all expansions (e.g macros) in the source on display.
   std::vector<ExpansionView> ExpansionSubViews;
@@ -154,7 +156,7 @@
     LineRef(StringRef Line, int64_t LineNo) : Line(Line), LineNo(LineNo) {}
   };
 
-  using CoverageSegmentArray = ArrayRef<const coverage::CoverageSegment *>;
+  using CoverageSegmentArray = ArrayRef<const CoverageSegment *>;
 
   /// @name Rendering Interface
   /// @{
@@ -230,15 +232,14 @@
 
   SourceCoverageView(StringRef SourceName, const MemoryBuffer &File,
                      const CoverageViewOptions &Options,
-                     coverage::CoverageData &&CoverageInfo)
+                     CoverageData &&CoverageInfo)
       : SourceName(SourceName), File(File), Options(Options),
         CoverageInfo(std::move(CoverageInfo)) {}
 
 public:
   static std::unique_ptr<SourceCoverageView>
   create(StringRef SourceName, const MemoryBuffer &File,
-         const CoverageViewOptions &Options,
-         coverage::CoverageData &&CoverageInfo);
+         const CoverageViewOptions &Options, CoverageData &&CoverageInfo);
 
   virtual ~SourceCoverageView() {}
 
@@ -248,7 +249,7 @@
   const CoverageViewOptions &getOptions() const { return Options; }
 
   /// \brief Add an expansion subview to this view.
-  void addExpansion(const coverage::CounterMappingRegion &Region,
+  void addExpansion(const CounterMappingRegion &Region,
                     std::unique_ptr<SourceCoverageView> View);
 
   /// \brief Add a function instantiation subview to this view.
