diff options
| author | Roman Lebedev <lebedev.ri@gmail.com> | 2018-06-15 14:01:43 +0000 |
|---|---|---|
| committer | Roman Lebedev <lebedev.ri@gmail.com> | 2018-06-15 14:01:43 +0000 |
| commit | 9ddf128f79b43d29d3c31e529087ac112a6a26be (patch) | |
| tree | b848ce07cf7ab86c4be8bdf6cb61ea7636d95e6d | |
| parent | 7c423001e48bc63f96598a75cea1f0b17fad0262 (diff) | |
| download | bcm5719-llvm-9ddf128f79b43d29d3c31e529087ac112a6a26be.tar.gz bcm5719-llvm-9ddf128f79b43d29d3c31e529087ac112a6a26be.zip | |
[MCA] Add -summary-view option
Summary:
While that is indeed a quite interesting summary stat,
there are cases where it does not really add anything
other than consuming extra lines.
Declutters the output of D48190.
Reviewers: RKSimon, andreadb, courbet, craig.topper
Reviewed By: andreadb
Subscribers: javed.absar, gbedwell, llvm-commits
Differential Revision: https://reviews.llvm.org/D48209
llvm-svn: 334833
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/option-all-stats-1.s | 12 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/option-all-views-1.s | 22 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/register-file-statistics.s | 28 | ||||
| -rw-r--r-- | llvm/test/tools/llvm-mca/X86/scheduler-queue-usage.s | 28 | ||||
| -rw-r--r-- | llvm/tools/llvm-mca/llvm-mca.cpp | 11 |
5 files changed, 28 insertions, 73 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/option-all-stats-1.s b/llvm/test/tools/llvm-mca/X86/option-all-stats-1.s index eb2b2d0458e..31ae051727d 100644 --- a/llvm/test/tools/llvm-mca/X86/option-all-stats-1.s +++ b/llvm/test/tools/llvm-mca/X86/option-all-stats-1.s @@ -6,12 +6,12 @@ add %eax, %eax -# ALL: Iterations: 100 -# ALL-NEXT: Instructions: 100 -# ALL-NEXT: Total Cycles: 103 -# ALL-NEXT: Dispatch Width: 2 -# ALL-NEXT: IPC: 0.97 -# ALL-NEXT: Block RThroughput: 0.5 +# FULLREPORT: Iterations: 100 +# FULLREPORT-NEXT: Instructions: 100 +# FULLREPORT-NEXT: Total Cycles: 103 +# FULLREPORT-NEXT: Dispatch Width: 2 +# FULLREPORT-NEXT: IPC: 0.97 +# FULLREPORT-NEXT: Block RThroughput: 0.5 # ALL: Instruction Info: # ALL-NEXT: [1]: #uOps diff --git a/llvm/test/tools/llvm-mca/X86/option-all-views-1.s b/llvm/test/tools/llvm-mca/X86/option-all-views-1.s index 7cbbbd96e2b..eff2e273e8e 100644 --- a/llvm/test/tools/llvm-mca/X86/option-all-views-1.s +++ b/llvm/test/tools/llvm-mca/X86/option-all-views-1.s @@ -1,17 +1,19 @@ # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py -# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -all-views < %s | FileCheck %s -check-prefix=ALL -check-prefix=DEFAULTREPORT -check-prefix=FULLREPORT -# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -all-views=true < %s | FileCheck %s -check-prefix=ALL -check-prefix=DEFAULTREPORT -check-prefix=FULLREPORT -# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -all-views=false < %s | FileCheck %s -check-prefix=ALL -check-prefix=NOREPORT -# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s -check-prefix=ALL -check-prefix=DEFAULTREPORT +# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -all-views < %s | FileCheck %s -check-prefix=DEFAULTREPORT -check-prefix=FULLREPORT +# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -all-views=true < %s | FileCheck %s -check-prefix=DEFAULTREPORT -check-prefix=FULLREPORT +# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -all-views=false < %s | FileCheck %s -check-prefix=NOREPORT -allow-empty +# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 < %s | FileCheck %s -check-prefix=DEFAULTREPORT add %eax, %eax -# ALL: Iterations: 100 -# ALL-NEXT: Instructions: 100 -# ALL-NEXT: Total Cycles: 103 -# ALL-NEXT: Dispatch Width: 2 -# ALL-NEXT: IPC: 0.97 -# ALL-NEXT: Block RThroughput: 0.5 +# NOREPORT-NOT: {{.}} + +# DEFAULTREPORT: Iterations: 100 +# DEFAULTREPORT-NEXT: Instructions: 100 +# DEFAULTREPORT-NEXT: Total Cycles: 103 +# DEFAULTREPORT-NEXT: Dispatch Width: 2 +# DEFAULTREPORT-NEXT: IPC: 0.97 +# DEFAULTREPORT-NEXT: Block RThroughput: 0.5 # DEFAULTREPORT: Instruction Info: # DEFAULTREPORT-NEXT: [1]: #uOps diff --git a/llvm/test/tools/llvm-mca/X86/register-file-statistics.s b/llvm/test/tools/llvm-mca/X86/register-file-statistics.s index 804bfc8b3b9..c35edf5af55 100644 --- a/llvm/test/tools/llvm-mca/X86/register-file-statistics.s +++ b/llvm/test/tools/llvm-mca/X86/register-file-statistics.s @@ -12,34 +12,6 @@ xor %eax, %ebx -# ALL: Iterations: 1 -# ALL-NEXT: Instructions: 1 -# ALL-NEXT: Total Cycles: 4 - -# BDW-NEXT: Dispatch Width: 4 -# BTVER2-NEXT: Dispatch Width: 2 -# HSW-NEXT: Dispatch Width: 4 -# IVB-NEXT: Dispatch Width: 4 -# KNL-NEXT: Dispatch Width: 4 -# SKX-NEXT: Dispatch Width: 6 -# SKX-AVX512-NEXT: Dispatch Width: 6 -# SLM-NEXT: Dispatch Width: 2 -# SNB-NEXT: Dispatch Width: 4 -# ZNVER1-NEXT: Dispatch Width: 4 - -# ALL-NEXT: IPC: 0.25 - -# BDW-NEXT: Block RThroughput: 0.3 -# BTVER2-NEXT: Block RThroughput: 0.5 -# HSW-NEXT: Block RThroughput: 0.3 -# IVB-NEXT: Block RThroughput: 0.3 -# KNL-NEXT: Block RThroughput: 0.3 -# SKX-NEXT: Block RThroughput: 0.3 -# SKX-AVX512-NEXT: Block RThroughput: 0.3 -# SLM-NEXT: Block RThroughput: 0.5 -# SNB-NEXT: Block RThroughput: 0.3 -# ZNVER1-NEXT: Block RThroughput: 0.3 - # ALL: Register File statistics: # ALL-NEXT: Total number of mappings created: 2 # ALL-NEXT: Max number of mappings used: 2 diff --git a/llvm/test/tools/llvm-mca/X86/scheduler-queue-usage.s b/llvm/test/tools/llvm-mca/X86/scheduler-queue-usage.s index 3e57bbcabfb..4cf9e6a0230 100644 --- a/llvm/test/tools/llvm-mca/X86/scheduler-queue-usage.s +++ b/llvm/test/tools/llvm-mca/X86/scheduler-queue-usage.s @@ -12,34 +12,6 @@ xor %eax, %ebx -# ALL: Iterations: 1 -# ALL-NEXT: Instructions: 1 -# ALL-NEXT: Total Cycles: 4 - -# BDW-NEXT: Dispatch Width: 4 -# BTVER2-NEXT: Dispatch Width: 2 -# HSW-NEXT: Dispatch Width: 4 -# IVB-NEXT: Dispatch Width: 4 -# KNL-NEXT: Dispatch Width: 4 -# SKX-NEXT: Dispatch Width: 6 -# SKX-AVX512-NEXT: Dispatch Width: 6 -# SLM-NEXT: Dispatch Width: 2 -# SNB-NEXT: Dispatch Width: 4 -# ZNVER1-NEXT: Dispatch Width: 4 - -# ALL-NEXT: IPC: 0.25 - -# BDW-NEXT: Block RThroughput: 0.3 -# BTVER2-NEXT: Block RThroughput: 0.5 -# HSW-NEXT: Block RThroughput: 0.3 -# IVB-NEXT: Block RThroughput: 0.3 -# KNL-NEXT: Block RThroughput: 0.3 -# SKX-NEXT: Block RThroughput: 0.3 -# SKX-AVX512-NEXT: Block RThroughput: 0.3 -# SLM-NEXT: Block RThroughput: 0.5 -# SNB-NEXT: Block RThroughput: 0.3 -# ZNVER1-NEXT: Block RThroughput: 0.3 - # ALL: Schedulers - number of cycles where we saw N instructions issued: # ALL-NEXT: [# issued], [# cycles] # ALL-NEXT: 0, 3 (75.0%) diff --git a/llvm/tools/llvm-mca/llvm-mca.cpp b/llvm/tools/llvm-mca/llvm-mca.cpp index 925584b0193..4d10704c10c 100644 --- a/llvm/tools/llvm-mca/llvm-mca.cpp +++ b/llvm/tools/llvm-mca/llvm-mca.cpp @@ -109,6 +109,11 @@ static cl::opt<bool> PrintDispatchStats("dispatch-stats", cl::desc("Print dispatch statistics"), cl::cat(ViewOptions), cl::init(false)); +static cl::opt<bool> + PrintSummaryView("summary-view", cl::Hidden, + cl::desc("Print summary view (enabled by default)"), + cl::cat(ViewOptions), cl::init(true)); + static cl::opt<bool> PrintSchedulerStats("scheduler-stats", cl::desc("Print scheduler statistics"), cl::cat(ViewOptions), cl::init(false)); @@ -302,6 +307,7 @@ static void processViewOptions() { return; if (EnableAllViews.getNumOccurrences()) { + processOptionImpl(PrintSummaryView, EnableAllViews); processOptionImpl(PrintResourcePressureView, EnableAllViews); processOptionImpl(PrintTimelineView, EnableAllViews); processOptionImpl(PrintInstructionInfoView, EnableAllViews); @@ -311,6 +317,7 @@ static void processViewOptions() { EnableAllViews.getPosition() < EnableAllStats.getPosition() ? EnableAllStats : EnableAllViews; + processOptionImpl(PrintSummaryView, Default); processOptionImpl(PrintRegisterFileStats, Default); processOptionImpl(PrintDispatchStats, Default); processOptionImpl(PrintSchedulerStats, Default); @@ -495,7 +502,9 @@ int main(int argc, char **argv) { LoadQueueSize, StoreQueueSize, AssumeNoAlias); mca::BackendPrinter Printer(B); - Printer.addView(llvm::make_unique<mca::SummaryView>(SM, S, Width)); + if (PrintSummaryView) + Printer.addView(llvm::make_unique<mca::SummaryView>(SM, S, Width)); + if (PrintInstructionInfoView) Printer.addView( llvm::make_unique<mca::InstructionInfoView>(*STI, *MCII, S, *IP)); |

