summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/test/tools/llvm-mca/X86/option-all-stats-1.s12
-rw-r--r--llvm/test/tools/llvm-mca/X86/option-all-views-1.s22
-rw-r--r--llvm/test/tools/llvm-mca/X86/register-file-statistics.s28
-rw-r--r--llvm/test/tools/llvm-mca/X86/scheduler-queue-usage.s28
-rw-r--r--llvm/tools/llvm-mca/llvm-mca.cpp11
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));
OpenPOWER on IntegriCloud