diff options
author | Matt Davis <Matthew.Davis@sony.com> | 2018-05-04 17:19:40 +0000 |
---|---|---|
committer | Matt Davis <Matthew.Davis@sony.com> | 2018-05-04 17:19:40 +0000 |
commit | 35df8b24afa9465acb6c4728c918a33b5c25dde5 (patch) | |
tree | d3b0c16a920cb8a678bba18b442d13628d06d716 /llvm/tools | |
parent | b59cd77c87d825fd1086eb6eba30473a11dd16bd (diff) | |
download | bcm5719-llvm-35df8b24afa9465acb6c4728c918a33b5c25dde5.tar.gz bcm5719-llvm-35df8b24afa9465acb6c4728c918a33b5c25dde5.zip |
[llvm-mca] Add descriptive names for the TimelineView report characters. NFC.
Summary:
This change makes the TimelineView source simpler to read and easier to modify in the future.
This patch introduces a class of static chars used as the display values in the TimelineView report, this change just eliminates a few magic characters.
Reviewers: andreadb, courbet, RKSimon
Reviewed By: andreadb
Subscribers: tschuett, gbedwell, llvm-commits
Differential Revision: https://reviews.llvm.org/D46409
llvm-svn: 331540
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/llvm-mca/TimelineView.cpp | 16 | ||||
-rw-r--r-- | llvm/tools/llvm-mca/TimelineView.h | 10 |
2 files changed, 18 insertions, 8 deletions
diff --git a/llvm/tools/llvm-mca/TimelineView.cpp b/llvm/tools/llvm-mca/TimelineView.cpp index 840d4dbd8b9..01fb84e79ab 100644 --- a/llvm/tools/llvm-mca/TimelineView.cpp +++ b/llvm/tools/llvm-mca/TimelineView.cpp @@ -153,28 +153,28 @@ void TimelineView::printTimelineViewEntry(raw_string_ostream &OS, OS << '[' << Iteration << ',' << SourceIndex << "]\t"; for (unsigned I = 0, E = Entry.CycleDispatched; I < E; ++I) OS << ((I % 5 == 0) ? '.' : ' '); - OS << 'D'; + OS << TimelineView::DisplayChar::Dispatched; if (Entry.CycleDispatched != Entry.CycleExecuted) { // Zero latency instructions have the same value for CycleDispatched, // CycleIssued and CycleExecuted. for (unsigned I = Entry.CycleDispatched + 1, E = Entry.CycleIssued; I < E; ++I) - OS << '='; + OS << TimelineView::DisplayChar::Waiting; if (Entry.CycleIssued == Entry.CycleExecuted) - OS << 'E'; + OS << TimelineView::DisplayChar::DisplayChar::Executed; else { if (Entry.CycleDispatched != Entry.CycleIssued) - OS << 'e'; + OS << TimelineView::DisplayChar::Executing; for (unsigned I = Entry.CycleIssued + 1, E = Entry.CycleExecuted; I < E; ++I) - OS << 'e'; - OS << 'E'; + OS << TimelineView::DisplayChar::Executing; + OS << TimelineView::DisplayChar::Executed; } } for (unsigned I = Entry.CycleExecuted + 1, E = Entry.CycleRetired; I < E; ++I) - OS << '-'; - OS << 'R'; + OS << TimelineView::DisplayChar::RetireLag; + OS << TimelineView::DisplayChar::Retired; // Skip other columns. for (unsigned I = Entry.CycleRetired + 1, E = LastCycle; I <= E; ++I) diff --git a/llvm/tools/llvm-mca/TimelineView.h b/llvm/tools/llvm-mca/TimelineView.h index 09dc99055b3..af73ce018c8 100644 --- a/llvm/tools/llvm-mca/TimelineView.h +++ b/llvm/tools/llvm-mca/TimelineView.h @@ -152,6 +152,16 @@ class TimelineView : public View { void initialize(unsigned MaxIterations); + // Display characters for the TimelineView report output. + struct DisplayChar { + static const char Dispatched = 'D'; + static const char Executed = 'E'; + static const char Retired = 'R'; + static const char Waiting = '='; // Instruction is waiting in the scheduler. + static const char Executing = 'e'; + static const char RetireLag = '-'; // The instruction is waiting to retire. + }; + public: TimelineView(const llvm::MCSubtargetInfo &sti, llvm::MCInstPrinter &Printer, const SourceMgr &Sequence, unsigned MaxIterations, |