[llvm] r334961 - [llvm-mca] Use an ordered map to collect hardware statistics. NFC.
Andrea Di Biagio via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 18 10:04:56 PDT 2018
Author: adibiagio
Date: Mon Jun 18 10:04:56 2018
New Revision: 334961
URL: http://llvm.org/viewvc/llvm-project?rev=334961&view=rev
Log:
[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.
Modified:
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
llvm/trunk/test/tools/llvm-mca/X86/BtVer2/register-files-2.s
llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-1.s
llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-2.s
llvm/trunk/test/tools/llvm-mca/X86/option-all-views-1.s
llvm/trunk/test/tools/llvm-mca/X86/option-all-views-2.s
llvm/trunk/tools/llvm-mca/DispatchStatistics.h
llvm/trunk/tools/llvm-mca/RetireControlUnitStatistics.h
llvm/trunk/tools/llvm-mca/SchedulerStatistics.cpp
llvm/trunk/tools/llvm-mca/SchedulerStatistics.h
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s Mon Jun 18 10:04:56 2018
@@ -1,3 +1,4 @@
+# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=btver2 -iterations=1 -resource-pressure=false -timeline < %s | FileCheck %s
imul %rax, %rbx
Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/register-files-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/register-files-2.s?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/register-files-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/register-files-2.s Mon Jun 18 10:04:56 2018
@@ -22,8 +22,8 @@ vmulps %xmm0, %xmm0, %xmm0
# CHECK: Dispatch Logic - number of cycles where we saw N instructions dispatched:
# CHECK-NEXT: [# dispatched], [# cycles]
# CHECK-NEXT: 0, 20 (71.4%)
-# CHECK-NEXT: 2, 2 (7.1%)
# CHECK-NEXT: 1, 6 (21.4%)
+# CHECK-NEXT: 2, 2 (7.1%)
# CHECK: Register File statistics:
# CHECK-NEXT: Total number of mappings created: 10
Modified: llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-1.s?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-1.s Mon Jun 18 10:04:56 2018
@@ -35,8 +35,8 @@ add %eax, %eax
# FULLREPORT: Dispatch Logic - number of cycles where we saw N instructions dispatched:
# FULLREPORT-NEXT: [# dispatched], [# cycles]
# FULLREPORT-NEXT: 0, 22 (21.4%)
-# FULLREPORT-NEXT: 2, 19 (18.4%)
# FULLREPORT-NEXT: 1, 62 (60.2%)
+# FULLREPORT-NEXT: 2, 19 (18.4%)
# FULLREPORT: Schedulers - number of cycles where we saw N instructions issued:
# FULLREPORT-NEXT: [# issued], [# cycles]
Modified: llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-2.s?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/option-all-stats-2.s Mon Jun 18 10:04:56 2018
@@ -36,8 +36,8 @@ add %eax, %eax
# FULL: Dispatch Logic - number of cycles where we saw N instructions dispatched:
# FULL-NEXT: [# dispatched], [# cycles]
# FULL-NEXT: 0, 22 (21.4%)
-# FULL-NEXT: 2, 19 (18.4%)
# FULL-NEXT: 1, 62 (60.2%)
+# FULL-NEXT: 2, 19 (18.4%)
# FULL: Schedulers - number of cycles where we saw N instructions issued:
# FULL-NEXT: [# issued], [# cycles]
Modified: llvm/trunk/test/tools/llvm-mca/X86/option-all-views-1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/option-all-views-1.s?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/option-all-views-1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/option-all-views-1.s Mon Jun 18 10:04:56 2018
@@ -37,8 +37,8 @@ add %eax, %eax
# FULLREPORT: Dispatch Logic - number of cycles where we saw N instructions dispatched:
# FULLREPORT-NEXT: [# dispatched], [# cycles]
# FULLREPORT-NEXT: 0, 22 (21.4%)
-# FULLREPORT-NEXT: 2, 19 (18.4%)
# FULLREPORT-NEXT: 1, 62 (60.2%)
+# FULLREPORT-NEXT: 2, 19 (18.4%)
# FULLREPORT: Schedulers - number of cycles where we saw N instructions issued:
# FULLREPORT-NEXT: [# issued], [# cycles]
Modified: llvm/trunk/test/tools/llvm-mca/X86/option-all-views-2.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/option-all-views-2.s?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/option-all-views-2.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/option-all-views-2.s Mon Jun 18 10:04:56 2018
@@ -36,8 +36,8 @@ add %eax, %eax
# ALL: Dispatch Logic - number of cycles where we saw N instructions dispatched:
# ALL-NEXT: [# dispatched], [# cycles]
# ALL-NEXT: 0, 22 (21.4%)
-# ALL-NEXT: 2, 19 (18.4%)
# ALL-NEXT: 1, 62 (60.2%)
+# ALL-NEXT: 2, 19 (18.4%)
# ALL: Schedulers - number of cycles where we saw N instructions issued:
# ALL-NEXT: [# issued], [# cycles]
Modified: llvm/trunk/tools/llvm-mca/DispatchStatistics.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mca/DispatchStatistics.h?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-mca/DispatchStatistics.h (original)
+++ llvm/trunk/tools/llvm-mca/DispatchStatistics.h Mon Jun 18 10:04:56 2018
@@ -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 @@ class DispatchStatistics : public View {
// 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() {
Modified: llvm/trunk/tools/llvm-mca/RetireControlUnitStatistics.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mca/RetireControlUnitStatistics.h?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-mca/RetireControlUnitStatistics.h (original)
+++ llvm/trunk/tools/llvm-mca/RetireControlUnitStatistics.h Mon Jun 18 10:04:56 2018
@@ -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;
Modified: llvm/trunk/tools/llvm-mca/SchedulerStatistics.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mca/SchedulerStatistics.cpp?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-mca/SchedulerStatistics.cpp (original)
+++ llvm/trunk/tools/llvm-mca/SchedulerStatistics.cpp Mon Jun 18 10:04:56 2018
@@ -81,8 +81,10 @@ void SchedulerStatistics::printScheduler
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';
}
Modified: llvm/trunk/tools/llvm-mca/SchedulerStatistics.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-mca/SchedulerStatistics.h?rev=334961&r1=334960&r2=334961&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-mca/SchedulerStatistics.h (original)
+++ llvm/trunk/tools/llvm-mca/SchedulerStatistics.h Mon Jun 18 10:04:56 2018
@@ -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 @@ class SchedulerStatistics : public View
unsigned MaxUsedSlots;
};
- llvm::DenseMap<unsigned, BufferUsage> BufferedResources;
+ std::map<unsigned, BufferUsage> BufferedResources;
void updateHistograms() {
IssuedPerCycle[NumIssued]++;
More information about the llvm-commits
mailing list