Index: llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-1.s =================================================================== --- llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-1.s +++ llvm/trunk/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 Index: llvm/trunk/test/tools/llvm-mca/X86/option-all-views-1.s =================================================================== --- llvm/trunk/test/tools/llvm-mca/X86/option-all-views-1.s +++ llvm/trunk/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 Index: llvm/trunk/test/tools/llvm-mca/X86/register-file-statistics.s =================================================================== --- llvm/trunk/test/tools/llvm-mca/X86/register-file-statistics.s +++ llvm/trunk/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 Index: llvm/trunk/test/tools/llvm-mca/X86/scheduler-queue-usage.s =================================================================== --- llvm/trunk/test/tools/llvm-mca/X86/scheduler-queue-usage.s +++ llvm/trunk/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%) Index: llvm/trunk/tools/llvm-mca/llvm-mca.cpp =================================================================== --- llvm/trunk/tools/llvm-mca/llvm-mca.cpp +++ llvm/trunk/tools/llvm-mca/llvm-mca.cpp @@ -109,6 +109,11 @@ cl::desc("Print dispatch statistics"), cl::cat(ViewOptions), cl::init(false)); +static cl::opt + PrintSummaryView("summary-view", cl::Hidden, + cl::desc("Print summary view (enabled by default)"), + cl::cat(ViewOptions), cl::init(true)); + static cl::opt PrintSchedulerStats("scheduler-stats", cl::desc("Print scheduler statistics"), cl::cat(ViewOptions), cl::init(false)); @@ -302,6 +307,7 @@ return; if (EnableAllViews.getNumOccurrences()) { + processOptionImpl(PrintSummaryView, EnableAllViews); processOptionImpl(PrintResourcePressureView, EnableAllViews); processOptionImpl(PrintTimelineView, EnableAllViews); processOptionImpl(PrintInstructionInfoView, EnableAllViews); @@ -311,6 +317,7 @@ EnableAllViews.getPosition() < EnableAllStats.getPosition() ? EnableAllStats : EnableAllViews; + processOptionImpl(PrintSummaryView, Default); processOptionImpl(PrintRegisterFileStats, Default); processOptionImpl(PrintDispatchStats, Default); processOptionImpl(PrintSchedulerStats, Default); @@ -495,7 +502,9 @@ LoadQueueSize, StoreQueueSize, AssumeNoAlias); mca::BackendPrinter Printer(B); - Printer.addView(llvm::make_unique(SM, S, Width)); + if (PrintSummaryView) + Printer.addView(llvm::make_unique(SM, S, Width)); + if (PrintInstructionInfoView) Printer.addView( llvm::make_unique(*STI, *MCII, S, *IP));