diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp
index bc77a9e..a19a22b 100644
--- a/llvm/tools/llvm-cov/CodeCoverage.cpp
+++ b/llvm/tools/llvm-cov/CodeCoverage.cpp
@@ -368,7 +368,7 @@
     for (auto Function : InstantiationSet.second) {
       auto SubView = llvm::make_unique<SourceCoverageView>(
           View, InterestingRange.first, InterestingRange.second,
-          Function->PrettyName);
+          Function->Name);
       createInstantiationSubView(SourceFile, *Function, *SubView);
       View.addChild(std::move(SubView));
     }
@@ -417,7 +417,7 @@
       if (Error && !RegionError) {
         colored_ostream(errs(), raw_ostream::RED)
             << "error: Regions and counters don't match in a function '"
-            << Function.PrettyName << "' (re-run the instrumented binary).";
+            << Function.Name << "' (re-run the instrumented binary).";
         errs() << "\n";
         RegionError = true;
       }
@@ -623,7 +623,7 @@
                                   Range.second);
       createSourceFileView(SourceFile, mainView, Function, true);
       ViewOpts.colored_ostream(outs(), raw_ostream::CYAN)
-          << Function.PrettyName << " from " << SourceFile << ":";
+          << Function.Name << " from " << SourceFile << ":";
       outs() << "\n";
       mainView.render(outs());
       if (FunctionMappingRecords.size() > 1)
