diff options
author | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2018-05-23 15:59:27 +0000 |
---|---|---|
committer | Andrea Di Biagio <Andrea_DiBiagio@sn.scee.net> | 2018-05-23 15:59:27 +0000 |
commit | 3fc20c9c7f013cd7ad274a8c4d7f99fde98c65a7 (patch) | |
tree | 41ae64000d1d49ec080e8ecbf4dd14e74ac8071e /llvm/tools/llvm-mca/llvm-mca.cpp | |
parent | feb3146d4b3e7306be6611532f1219859bbef54e (diff) | |
download | bcm5719-llvm-3fc20c9c7f013cd7ad274a8c4d7f99fde98c65a7.tar.gz bcm5719-llvm-3fc20c9c7f013cd7ad274a8c4d7f99fde98c65a7.zip |
[llvm-mca] Print the "Block RThroughput" in the SummaryView.
This patch implements the "block reciprocal throughput" computation in the
SummaryView.
The block reciprocal throughput is computed as the MAX of:
- NumMicroOps / DispatchWidth
- Resource Cycles / #Units (for every resource consumed).
The block throughput is bounded from above by the hardware dispatch throughput.
That is because the DispatchWidth is an upper bound on how many opcodes can be part
of a single dispatch group.
The block throughput is also limited by the amount of hardware parallelism. The
number of available resource units affects how the resource pressure is
distributed, and also how many blocks can be delivered every cycle.
llvm-svn: 333095
Diffstat (limited to 'llvm/tools/llvm-mca/llvm-mca.cpp')
-rw-r--r-- | llvm/tools/llvm-mca/llvm-mca.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/tools/llvm-mca/llvm-mca.cpp b/llvm/tools/llvm-mca/llvm-mca.cpp index 1e93a7fdcdb..925584b0193 100644 --- a/llvm/tools/llvm-mca/llvm-mca.cpp +++ b/llvm/tools/llvm-mca/llvm-mca.cpp @@ -495,7 +495,7 @@ int main(int argc, char **argv) { LoadQueueSize, StoreQueueSize, AssumeNoAlias); mca::BackendPrinter Printer(B); - Printer.addView(llvm::make_unique<mca::SummaryView>(S, Width)); + Printer.addView(llvm::make_unique<mca::SummaryView>(SM, S, Width)); if (PrintInstructionInfoView) Printer.addView( llvm::make_unique<mca::InstructionInfoView>(*STI, *MCII, S, *IP)); |