[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
diff --git a/llvm/tools/llvm-mca/DispatchStatistics.h b/llvm/tools/llvm-mca/DispatchStatistics.h
index 3b735a1..7b98a84 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 <map>
namespace mca {
@@ -49,7 +49,7 @@
// is one counter for every generic stall kind (see class HWStallEvent).
llvm::SmallVector<unsigned, 8> HWStalls;
- using Histogram = llvm::DenseMap<unsigned, unsigned>;
+ using Histogram = std::map<unsigned, unsigned>;
Histogram DispatchGroupSizePerCycle;
void updateHistograms() {
diff --git a/llvm/tools/llvm-mca/RetireControlUnitStatistics.h b/llvm/tools/llvm-mca/RetireControlUnitStatistics.h
index e10c662..5c91af5 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 <map>
namespace mca {
class RetireControlUnitStatistics : public View {
- using Histogram = llvm::DenseMap<unsigned, unsigned>;
+ using Histogram = std::map<unsigned, unsigned>;
Histogram RetiredPerCycle;
unsigned NumRetired;
diff --git a/llvm/tools/llvm-mca/SchedulerStatistics.cpp b/llvm/tools/llvm-mca/SchedulerStatistics.cpp
index 128bb8f..dc38f68 100644
--- a/llvm/tools/llvm-mca/SchedulerStatistics.cpp
+++ b/llvm/tools/llvm-mca/SchedulerStatistics.cpp
@@ -81,8 +81,10 @@
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 bbb7535..08d8a34 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 <map>
namespace mca {
class SchedulerStatistics : public View {
const llvm::MCSchedModel &SM;
- using Histogram = llvm::DenseMap<unsigned, unsigned>;
+ using Histogram = std::map<unsigned, unsigned>;
Histogram IssuedPerCycle;
unsigned NumIssued;
@@ -53,7 +53,7 @@
unsigned MaxUsedSlots;
};
- llvm::DenseMap<unsigned, BufferUsage> BufferedResources;
+ std::map<unsigned, BufferUsage> BufferedResources;
void updateHistograms() {
IssuedPerCycle[NumIssued]++;