diff options
author | Vedant Kumar <vsk@apple.com> | 2017-02-05 20:11:08 +0000 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2017-02-05 20:11:08 +0000 |
commit | 62eb0fdb08da2b8463fdaae33abbcbe8b52e5c19 (patch) | |
tree | 5ec27278b18cc6ae19a61573b652c1115eee3614 /llvm | |
parent | f2b067c42eb6691fb1b39ba2c4c66f9165a12364 (diff) | |
download | bcm5719-llvm-62eb0fdb08da2b8463fdaae33abbcbe8b52e5c19.tar.gz bcm5719-llvm-62eb0fdb08da2b8463fdaae33abbcbe8b52e5c19.zip |
[llvm-cov] Don't show function summaries when filtering by filename (fixes PR31395)
llvm-svn: 294137
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/docs/CommandGuide/llvm-cov.rst | 4 | ||||
-rw-r--r-- | llvm/test/tools/llvm-cov/demangle.test | 2 | ||||
-rw-r--r-- | llvm/test/tools/llvm-cov/report.cpp | 4 | ||||
-rw-r--r-- | llvm/tools/llvm-cov/CodeCoverage.cpp | 6 |
4 files changed, 12 insertions, 4 deletions
diff --git a/llvm/docs/CommandGuide/llvm-cov.rst b/llvm/docs/CommandGuide/llvm-cov.rst index 4c0354c0d60..ea2e625bc4d 100644 --- a/llvm/docs/CommandGuide/llvm-cov.rst +++ b/llvm/docs/CommandGuide/llvm-cov.rst @@ -322,6 +322,10 @@ OPTIONS universal binary or to use an architecture that does not match a non-universal binary. +.. option:: -show-functions + + Show coverage summaries for each function. + .. program:: llvm-cov export .. _llvm-cov-export: diff --git a/llvm/test/tools/llvm-cov/demangle.test b/llvm/test/tools/llvm-cov/demangle.test index 360fcd97249..5ca113262e4 100644 --- a/llvm/test/tools/llvm-cov/demangle.test +++ b/llvm/test/tools/llvm-cov/demangle.test @@ -5,7 +5,7 @@ RUN: llvm-profdata merge %S/Inputs/hideUnexecutedSubviews.proftext -o %t.profdat RUN: llvm-cov show %S/Inputs/templateInstantiations.covmapping -instr-profile %t.profdata -Xdemangler sed -Xdemangler 's/_/X/g' -filename-equivalence %S/showTemplateInstantiations.cpp | FileCheck %s // Check that we demangle names when printing out function summaries. -RUN: llvm-cov report %S/Inputs/templateInstantiations.covmapping -instr-profile %S/Inputs/templateInstantiations.profdata -Xdemangler sed -Xdemangler 's/_/X/g' -filename-equivalence %S/showTemplateInstantiations.cpp | FileCheck %s +RUN: llvm-cov report -show-functions %S/Inputs/templateInstantiations.covmapping -instr-profile %S/Inputs/templateInstantiations.profdata -Xdemangler sed -Xdemangler 's/_/X/g' -filename-equivalence %S/showTemplateInstantiations.cpp | FileCheck %s CHECK-DAG: XZ4funcIbEiTX CHECK-DAG: XZ4funcIiEiTX diff --git a/llvm/test/tools/llvm-cov/report.cpp b/llvm/test/tools/llvm-cov/report.cpp index c28dd758940..49425eb5f62 100644 --- a/llvm/test/tools/llvm-cov/report.cpp +++ b/llvm/test/tools/llvm-cov/report.cpp @@ -1,6 +1,6 @@ // RUN: llvm-cov report %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -filename-equivalence 2>&1 | FileCheck %s -// RUN: llvm-cov report %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -filename-equivalence report.cpp 2>&1 | FileCheck -check-prefix=FILT %s -// RUN: llvm-cov report %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -filename-equivalence report.cpp does-not-exist.cpp 2>&1 | FileCheck -check-prefix=FILT %s +// RUN: llvm-cov report -show-functions %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -filename-equivalence report.cpp 2>&1 | FileCheck -check-prefix=FILT %s +// RUN: llvm-cov report -show-functions %S/Inputs/report.covmapping -instr-profile %S/Inputs/report.profdata -filename-equivalence report.cpp does-not-exist.cpp 2>&1 | FileCheck -check-prefix=FILT %s // CHECK: Regions Missed Regions Cover Functions Missed Functions Executed Instantiations Missed Insts. Executed Lines Missed Lines Cover // CHECK-NEXT: --- diff --git a/llvm/tools/llvm-cov/CodeCoverage.cpp b/llvm/tools/llvm-cov/CodeCoverage.cpp index a23dcc9ee1a..f3f6f9f7fed 100644 --- a/llvm/tools/llvm-cov/CodeCoverage.cpp +++ b/llvm/tools/llvm-cov/CodeCoverage.cpp @@ -808,6 +808,10 @@ int CodeCoverageTool::show(int argc, const char **argv, int CodeCoverageTool::report(int argc, const char **argv, CommandLineParserType commandLineParser) { + cl::opt<bool> ShowFunctionSummaries( + "show-functions", cl::Optional, cl::init(false), + cl::desc("Show coverage summaries for each function")); + auto Err = commandLineParser(argc, argv); if (Err) return Err; @@ -820,7 +824,7 @@ int CodeCoverageTool::report(int argc, const char **argv, return 1; CoverageReport Report(ViewOpts, *Coverage.get()); - if (SourceFiles.empty()) + if (!ShowFunctionSummaries) Report.renderFileReports(llvm::outs()); else Report.renderFunctionReports(SourceFiles, DC, llvm::outs()); |