7 Commits

Author SHA1 Message Date
Andrea Di Biagio
4acd0f7b38 [llvm-mca] Move the logic that computes the block throughput into Support.h. NFC
This will allow us to share the logic that computes the block throughput with
other views.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333755 91177308-0d34-0410-b5e6-96231b3b80d8
2018-06-01 14:35:21 +00:00
Andrea Di Biagio
3d525a3f58 [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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@333095 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-23 15:59:27 +00:00
Adrian Prantl
26b584c691 Remove \brief commands from doxygen comments.
We've been running doxygen with the autobrief option for a couple of
years now. This makes the \brief markers into our comments
redundant. Since they are a visual distraction and we don't want to
encourage more \brief markers in new code either, this patch removes
them all.

Patch produced by

  for i in $(git grep -l '\\brief'); do perl -pi -e 's/\\brief //g' $i & done

Differential Revision: https://reviews.llvm.org/D46290

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331272 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-01 15:54:18 +00:00
Andrea Di Biagio
ca9b26eb14 [llvm-mca] Removed unused argument from cycleEvent. NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329895 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-12 10:49:40 +00:00
Andrea Di Biagio
3b9d2408db [llvm-mca] Split the InstructionInfoView from the SummaryView.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328358 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-23 19:40:04 +00:00
Andrea Di Biagio
04be4f5879 [llvm-mca] Remove the logic that computes the reciprocal throughput, and 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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327425 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-13 17:24:32 +00:00
Andrea Di Biagio
7ebbb195b1 [llvm-mca] Move the logic that prints the summary into its own view. NFCI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327128 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-09 13:52:03 +00:00