From a88281d8ae3a6bb0c4da126910b9b30fe068ad55 Mon Sep 17 00:00:00 2001 From: Andrea Di Biagio Date: Mon, 18 Jun 2018 17:04:56 +0000 Subject: [llvm-mca] Use an ordered map to collect hardware statistics. NFC. Histogram entries are now ordered by key. This should improves their readability when statistics are printed. llvm-svn: 334961 --- llvm/tools/llvm-mca/DispatchStatistics.h | 4 ++-- llvm/tools/llvm-mca/RetireControlUnitStatistics.h | 4 ++-- llvm/tools/llvm-mca/SchedulerStatistics.cpp | 6 ++++-- llvm/tools/llvm-mca/SchedulerStatistics.h | 6 +++--- 4 files changed, 11 insertions(+), 9 deletions(-) (limited to 'llvm/tools/llvm-mca') diff --git a/llvm/tools/llvm-mca/DispatchStatistics.h b/llvm/tools/llvm-mca/DispatchStatistics.h index 3b735a16266..7b98a848df6 100644 --- a/llvm/tools/llvm-mca/DispatchStatistics.h +++ b/llvm/tools/llvm-mca/DispatchStatistics.h @@ -35,9 +35,9 @@ #define LLVM_TOOLS_LLVM_MCA_DISPATCHVIEW_H #include "View.h" -#include "llvm/ADT/DenseMap.h" #include "llvm/ADT/SmallVector.h" #include "llvm/MC/MCSubtargetInfo.h" +#include namespace mca { @@ -49,7 +49,7 @@ class DispatchStatistics : public View { // is one counter for every generic stall kind (see class HWStallEvent). llvm::SmallVector HWStalls; - using Histogram = llvm::DenseMap; + using Histogram = std::map; Histogram DispatchGroupSizePerCycle; void updateHistograms() { diff --git a/llvm/tools/llvm-mca/RetireControlUnitStatistics.h b/llvm/tools/llvm-mca/RetireControlUnitStatistics.h index e10c6626ee9..5c91af532ec 100644 --- a/llvm/tools/llvm-mca/RetireControlUnitStatistics.h +++ b/llvm/tools/llvm-mca/RetireControlUnitStatistics.h @@ -27,13 +27,13 @@ #define LLVM_TOOLS_LLVM_MCA_RETIRECONTROLUNITSTATISTICS_H #include "View.h" -#include "llvm/ADT/DenseMap.h" #include "llvm/MC/MCSubtargetInfo.h" +#include namespace mca { class RetireControlUnitStatistics : public View { - using Histogram = llvm::DenseMap; + using Histogram = std::map; Histogram RetiredPerCycle; unsigned NumRetired; diff --git a/llvm/tools/llvm-mca/SchedulerStatistics.cpp b/llvm/tools/llvm-mca/SchedulerStatistics.cpp index 128bb8f4466..dc38f6889c9 100644 --- a/llvm/tools/llvm-mca/SchedulerStatistics.cpp +++ b/llvm/tools/llvm-mca/SchedulerStatistics.cpp @@ -81,8 +81,10 @@ void SchedulerStatistics::printSchedulerUsage(raw_ostream &OS) const { if (ProcResource.BufferSize <= 0) continue; - const BufferUsage &BU = BufferedResources.lookup(I); - TempStream << ProcResource.Name << ", " << BU.MaxUsedSlots << '/' + const auto It = BufferedResources.find(I); + unsigned MaxUsedSlots = + It == BufferedResources.end() ? 0 : It->second.MaxUsedSlots; + TempStream << ProcResource.Name << ", " << MaxUsedSlots << '/' << ProcResource.BufferSize << '\n'; } diff --git a/llvm/tools/llvm-mca/SchedulerStatistics.h b/llvm/tools/llvm-mca/SchedulerStatistics.h index bbb7535bdaf..08d8a349437 100644 --- a/llvm/tools/llvm-mca/SchedulerStatistics.h +++ b/llvm/tools/llvm-mca/SchedulerStatistics.h @@ -33,15 +33,15 @@ #include "View.h" #include "llvm/ADT/SmallVector.h" -#include "llvm/ADT/DenseMap.h" #include "llvm/MC/MCSubtargetInfo.h" +#include namespace mca { class SchedulerStatistics : public View { const llvm::MCSchedModel &SM; - using Histogram = llvm::DenseMap; + using Histogram = std::map; Histogram IssuedPerCycle; unsigned NumIssued; @@ -53,7 +53,7 @@ class SchedulerStatistics : public View { unsigned MaxUsedSlots; }; - llvm::DenseMap BufferedResources; + std::map BufferedResources; void updateHistograms() { IssuedPerCycle[NumIssued]++; -- cgit v1.2.3