[gem5-dev] Change in gem5/gem5[develop]: cpu-o3: convert rename to new style stats

2020-09-09 Thread Jason Lowe-Power (Gerrit) via gem5-dev
Jason Lowe-Power has submitted this change. (  
https://gem5-review.googlesource.com/c/public/gem5/+/33397 )


Change subject: cpu-o3: convert rename to new style stats
..

cpu-o3: convert rename to new style stats

Change-Id: Id34a85e40ad7e83d5805a034df6e0c5ad9b9af82
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33397
Reviewed-by: Jason Lowe-Power 
Maintainer: Jason Lowe-Power 
Tested-by: kokoro 
---
M src/cpu/o3/cpu.cc
M src/cpu/o3/rename.hh
M src/cpu/o3/rename_impl.hh
3 files changed, 150 insertions(+), 176 deletions(-)

Approvals:
  Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc
index bbc6b82..414913d 100644
--- a/src/cpu/o3/cpu.cc
+++ b/src/cpu/o3/cpu.cc
@@ -441,7 +441,6 @@
 .precision(6);
 totalIpc =  sum(committedInsts) / numCycles;

-this->rename.regStats();
 this->iew.regStats();

 intRegfileReads
diff --git a/src/cpu/o3/rename.hh b/src/cpu/o3/rename.hh
index e3dc3e9..5b45218 100644
--- a/src/cpu/o3/rename.hh
+++ b/src/cpu/o3/rename.hh
@@ -133,9 +133,6 @@
 /** Returns the name of rename. */
 std::string name() const;

-/** Registers statistics. */
-void regStats();
-
 /** Registers probes. */
 void regProbePoints();

@@ -481,51 +478,62 @@
  */
 inline void incrFullStat(const FullSource );

-/** Stat for total number of cycles spent squashing. */
-Stats::Scalar renameSquashCycles;
-/** Stat for total number of cycles spent idle. */
-Stats::Scalar renameIdleCycles;
-/** Stat for total number of cycles spent blocking. */
-Stats::Scalar renameBlockCycles;
-/** Stat for total number of cycles spent stalling for a serializing  
inst. */

-Stats::Scalar renameSerializeStallCycles;
-/** Stat for total number of cycles spent running normally. */
-Stats::Scalar renameRunCycles;
-/** Stat for total number of cycles spent unblocking. */
-Stats::Scalar renameUnblockCycles;
-/** Stat for total number of renamed instructions. */
-Stats::Scalar renameRenamedInsts;
-/** Stat for total number of squashed instructions that rename  
discards. */

-Stats::Scalar renameSquashedInsts;
-/** Stat for total number of times that the ROB starts a stall in  
rename. */

-Stats::Scalar renameROBFullEvents;
-/** Stat for total number of times that the IQ starts a stall in  
rename. */

-Stats::Scalar renameIQFullEvents;
-/** Stat for total number of times that the LQ starts a stall in  
rename. */

-Stats::Scalar renameLQFullEvents;
-/** Stat for total number of times that the SQ starts a stall in  
rename. */

-Stats::Scalar renameSQFullEvents;
-/** Stat for total number of times that rename runs out of free  
registers

- * to use to rename. */
-Stats::Scalar renameFullRegistersEvents;
-/** Stat for total number of renamed destination registers. */
-Stats::Scalar renameRenamedOperands;
-/** Stat for total number of source register rename lookups. */
-Stats::Scalar renameRenameLookups;
-Stats::Scalar intRenameLookups;
-Stats::Scalar fpRenameLookups;
-Stats::Scalar vecRenameLookups;
-Stats::Scalar vecPredRenameLookups;
-/** Stat for total number of committed renaming mappings. */
-Stats::Scalar renameCommittedMaps;
-/** Stat for total number of mappings that were undone due to a  
squash. */

-Stats::Scalar renameUndoneMaps;
-/** Number of serialize instructions handled. */
-Stats::Scalar renamedSerializing;
-/** Number of instructions marked as temporarily serializing. */
-Stats::Scalar renamedTempSerializing;
-/** Number of instructions inserted into skid buffers. */
-Stats::Scalar renameSkidInsts;
+struct RenameStats : public Stats::Group {
+RenameStats(Stats::Group *parent);
+
+/** Stat for total number of cycles spent squashing. */
+Stats::Scalar squashCycles;
+/** Stat for total number of cycles spent idle. */
+Stats::Scalar idleCycles;
+/** Stat for total number of cycles spent blocking. */
+Stats::Scalar blockCycles;
+/** Stat for total number of cycles spent stalling for a  
serializing

+ *  inst. */
+Stats::Scalar serializeStallCycles;
+/** Stat for total number of cycles spent running normally. */
+Stats::Scalar runCycles;
+/** Stat for total number of cycles spent unblocking. */
+Stats::Scalar unblockCycles;
+/** Stat for total number of renamed instructions. */
+Stats::Scalar renamedInsts;
+/** Stat for total number of squashed instructions that rename
+ * discards. */
+Stats::Scalar squashedInsts;
+/** Stat for total number of times that the ROB starts a stall in
+ * rename. */
+Stats::Scalar ROBFullEvents;
+ 

[gem5-dev] Change in gem5/gem5[develop]: cpu-o3: convert rename to new style stats

2020-08-25 Thread Emily Brickey (Gerrit) via gem5-dev
Emily Brickey has uploaded this change for review. (  
https://gem5-review.googlesource.com/c/public/gem5/+/33397 )



Change subject: cpu-o3: convert rename to new style stats
..

cpu-o3: convert rename to new style stats

Change-Id: Id34a85e40ad7e83d5805a034df6e0c5ad9b9af82
---
M src/cpu/o3/cpu.cc
M src/cpu/o3/rename.hh
M src/cpu/o3/rename_impl.hh
3 files changed, 150 insertions(+), 176 deletions(-)



diff --git a/src/cpu/o3/cpu.cc b/src/cpu/o3/cpu.cc
index 47caa67..b11dbbc 100644
--- a/src/cpu/o3/cpu.cc
+++ b/src/cpu/o3/cpu.cc
@@ -442,7 +442,6 @@
 totalIpc =  sum(committedInsts) / numCycles;

 this->fetch.regStats();
-this->rename.regStats();
 this->iew.regStats();
 this->rob.regStats();

diff --git a/src/cpu/o3/rename.hh b/src/cpu/o3/rename.hh
index e3dc3e9..ac955b2 100644
--- a/src/cpu/o3/rename.hh
+++ b/src/cpu/o3/rename.hh
@@ -133,9 +133,6 @@
 /** Returns the name of rename. */
 std::string name() const;

-/** Registers statistics. */
-void regStats();
-
 /** Registers probes. */
 void regProbePoints();

@@ -481,51 +478,62 @@
  */
 inline void incrFullStat(const FullSource );

-/** Stat for total number of cycles spent squashing. */
-Stats::Scalar renameSquashCycles;
-/** Stat for total number of cycles spent idle. */
-Stats::Scalar renameIdleCycles;
-/** Stat for total number of cycles spent blocking. */
-Stats::Scalar renameBlockCycles;
-/** Stat for total number of cycles spent stalling for a serializing  
inst. */

-Stats::Scalar renameSerializeStallCycles;
-/** Stat for total number of cycles spent running normally. */
-Stats::Scalar renameRunCycles;
-/** Stat for total number of cycles spent unblocking. */
-Stats::Scalar renameUnblockCycles;
-/** Stat for total number of renamed instructions. */
-Stats::Scalar renameRenamedInsts;
-/** Stat for total number of squashed instructions that rename  
discards. */

-Stats::Scalar renameSquashedInsts;
-/** Stat for total number of times that the ROB starts a stall in  
rename. */

-Stats::Scalar renameROBFullEvents;
-/** Stat for total number of times that the IQ starts a stall in  
rename. */

-Stats::Scalar renameIQFullEvents;
-/** Stat for total number of times that the LQ starts a stall in  
rename. */

-Stats::Scalar renameLQFullEvents;
-/** Stat for total number of times that the SQ starts a stall in  
rename. */

-Stats::Scalar renameSQFullEvents;
-/** Stat for total number of times that rename runs out of free  
registers

- * to use to rename. */
-Stats::Scalar renameFullRegistersEvents;
-/** Stat for total number of renamed destination registers. */
-Stats::Scalar renameRenamedOperands;
-/** Stat for total number of source register rename lookups. */
-Stats::Scalar renameRenameLookups;
-Stats::Scalar intRenameLookups;
-Stats::Scalar fpRenameLookups;
-Stats::Scalar vecRenameLookups;
-Stats::Scalar vecPredRenameLookups;
-/** Stat for total number of committed renaming mappings. */
-Stats::Scalar renameCommittedMaps;
-/** Stat for total number of mappings that were undone due to a  
squash. */

-Stats::Scalar renameUndoneMaps;
-/** Number of serialize instructions handled. */
-Stats::Scalar renamedSerializing;
-/** Number of instructions marked as temporarily serializing. */
-Stats::Scalar renamedTempSerializing;
-/** Number of instructions inserted into skid buffers. */
-Stats::Scalar renameSkidInsts;
+struct RenameStats : public Stats::Group {
+RenameStats(Stats::Group *parent);
+
+/** Stat for total number of cycles spent squashing. */
+Stats::Scalar squashCycles;
+/** Stat for total number of cycles spent idle. */
+Stats::Scalar idleCycles;
+/** Stat for total number of cycles spent blocking. */
+Stats::Scalar blockCycles;
+/** Stat for total number of cycles spent stalling for a  
serializing

+ *  inst. */
+Stats::Scalar serializeStallCycles;
+/** Stat for total number of cycles spent running normally. */
+Stats::Scalar runCycles;
+/** Stat for total number of cycles spent unblocking. */
+Stats::Scalar unblockCycles;
+/** Stat for total number of renamed instructions. */
+Stats::Scalar renamedInsts;
+/** Stat for total number of squashed instructions that rename
+ * discards. */
+Stats::Scalar squashedInsts;
+/** Stat for total number of times that the ROB starts a stall in
+ * rename. */
+Stats::Scalar ROBFullEvents;
+/** Stat for total number of times that the IQ starts a stall in
+ *  rename. */
+Stats::Scalar IQFullEvents;
+/** Stat for total number of times that the LQ starts a stall in
+ *  rename. */
+