summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-mca/SummaryView.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [llvm-mca] Move views and stats into a Views subdir. NFC.Matt Davis2018-08-241-85/+0
| | | | llvm-svn: 340645
* [llvm-mca] Simplify eventing by adding an onEvent templated method.Matt Davis2018-07-121-1/+1
| | | | | | | | | | | | | | | | | | | | Summary: This patch eliminates some redundancy in iterating across Listeners for the Instruction and Stall HWEvents, by introducing a template onEvent routine. This change was suggested by @courbet in https://reviews.llvm.org/D48576. I hope that this patch addresses that suggestion appropriately. I do like this change better than what we had previously. Reviewers: andreadb, courbet, RKSimon Reviewed By: andreadb, courbet Subscribers: javed.absar, tschuett, gbedwell, llvm-commits, courbet Differential Revision: https://reviews.llvm.org/D48672 llvm-svn: 336916
* [llvm-mca] Move the logic that computes the block throughput into Support.h. NFCAndrea Di Biagio2018-06-011-41/+16
| | | | | | | This will allow us to share the logic that computes the block throughput with other views. llvm-svn: 333755
* [llvm-mca] Fix a rounding problem in SummaryView.cpp exposed by r333204.Andrea Di Biagio2018-05-241-4/+7
| | | | | | | | Before printing the block reciprocal throughput, ensure that the floating point number is always rounded the same way on every target. No functional change intended. llvm-svn: 333210
* [llvm-mca] Print the "Block RThroughput" in the SummaryView.Andrea Di Biagio2018-05-231-5/+71
| | | | | | | | | | | | | | | | | | | 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
* [llvm-mca] run clang-format on all files.Andrea Di Biagio2018-03-241-1/+0
| | | | | | This also addresses Simon's review comment in D44839. llvm-svn: 328428
* [llvm-mca] Split the InstructionInfoView from the SummaryView.Andrea Di Biagio2018-03-231-56/+4
| | | | llvm-svn: 328358
* [llvm-mca] Remove the logic that computes the reciprocal throughput, and ↵Andrea Di Biagio2018-03-131-15/+26
| | | | | | | | | | | | | | | | | make the SummaryView independent from the Backend. NFCI Since r327420, the tool can query the MCSchedModel interface to obtain the reciprocal throughput information. As a consequence, method `ResourceManager::getRThroughput`, and method `Backend::getRThroughput` are no longer needed. This patch simplifies the code by removing the custom RThroughput computation. This patch also refactors class SummaryView by removing the dependency with the Backend object. No functional change intended. llvm-svn: 327425
* [llvm-mca] Move the logic that prints the summary into its own view. NFCIAndrea Di Biagio2018-03-091-0/+83
llvm-svn: 327128
OpenPOWER on IntegriCloud