diff options
Diffstat (limited to 'llvm/tools/llvm-mca/SummaryView.h')
-rw-r--r-- | llvm/tools/llvm-mca/SummaryView.h | 54 |
1 files changed, 5 insertions, 49 deletions
diff --git a/llvm/tools/llvm-mca/SummaryView.h b/llvm/tools/llvm-mca/SummaryView.h index db2d4c4b1b7..083e6b065aa 100644 --- a/llvm/tools/llvm-mca/SummaryView.h +++ b/llvm/tools/llvm-mca/SummaryView.h @@ -21,29 +21,9 @@ /// IPC: 1.48 /// /// -/// Instruction Info: -/// [1]: #uOps -/// [2]: Latency -/// [3]: RThroughput -/// [4]: MayLoad -/// [5]: MayStore -/// [6]: HasSideEffects -/// -/// [1] [2] [3] [4] [5] [6] Instructions: -/// 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2 -/// 1 3 1.00 vhaddps %xmm2, %xmm2, %xmm3 -/// 1 3 1.00 vhaddps %xmm3, %xmm3, %xmm4 -/// -/// The summary view is structured in two sections. -/// -/// The first section collects a a few performance numbers. The two main +/// The summary view collects a few performance numbers. The two main /// performance indicators are 'Total Cycles' and IPC (Instructions Per Cycle). /// -/// The second section shows the latency and reciprocal throughput of every -/// instruction in the sequence. This section also reports extra informaton -/// related to the number of micro opcodes, and opcode properties (i.e. -/// 'MayLoad', 'MayStore', 'HasSideEffects) -/// //===----------------------------------------------------------------------===// #ifndef LLVM_TOOLS_LLVM_MCA_SUMMARYVIEW_H @@ -51,48 +31,24 @@ #include "SourceMgr.h" #include "View.h" -#include "llvm/MC/MCInstPrinter.h" -#include "llvm/MC/MCSubtargetInfo.h" -#include "llvm/MC/MCInstrInfo.h" #include "llvm/Support/raw_ostream.h" -#define DEBUG_TYPE "llvm-mca" - namespace mca { -/// \brief A printer class that knows how to collects statistics on the -/// code analyzed by the llvm-mca tool. -/// -/// This class knows how to print out the analysis information collected -/// during the execution of the code. Internally, it delegates to other -/// classes the task of printing out timeline information as well as -/// resource pressure. +/// \brief A view that collects and prints a few performance numbers. class SummaryView : public View { - const llvm::MCSubtargetInfo &STI; - const llvm::MCInstrInfo &MCII; const SourceMgr &Source; - llvm::MCInstPrinter &MCIP; - const unsigned DispatchWidth; unsigned TotalCycles; - void printSummary(llvm::raw_ostream &OS) const; - void printInstructionInfo(llvm::raw_ostream &OS) const; - public: - SummaryView(const llvm::MCSubtargetInfo &sti, const llvm::MCInstrInfo &mcii, - const SourceMgr &S, llvm::MCInstPrinter &IP, unsigned Width) - : STI(sti), MCII(mcii), Source(S), MCIP(IP), DispatchWidth(Width), - TotalCycles(0) {} + SummaryView(const SourceMgr &S, unsigned Width) + : Source(S), DispatchWidth(Width), TotalCycles(0) {} void onCycleEnd(unsigned /* unused */) override { ++TotalCycles; } - void printView(llvm::raw_ostream &OS) const override { - printSummary(OS); - printInstructionInfo(OS); - } + void printView(llvm::raw_ostream &OS) const override; }; - } // namespace mca #endif |