Merge ktlim@zizzer.eecs.umich.edu:/bk/m5
[gem5.git] / cpu / beta_cpu / rename.hh
index 9f031012ae1dd142ed9bb56babde9434e7c0a41f..3e9899718b7ef1b34fd8bcdcd4fc18df6bd98299 100644 (file)
@@ -3,11 +3,12 @@
 // May want to have different statuses to differentiate the different stall
 // conditions.
 
-#ifndef __SIMPLE_RENAME_HH__
-#define __SIMPLE_RENAME_HH__
+#ifndef __CPU_BETA_CPU_SIMPLE_RENAME_HH__
+#define __CPU_BETA_CPU_SIMPLE_RENAME_HH__
 
 #include <list>
 
+#include "base/statistics.hh"
 #include "base/timebuf.hh"
 
 // Will need rename maps for both the int reg file and fp reg file.
@@ -54,6 +55,8 @@ class SimpleRename
   public:
     SimpleRename(Params &params);
 
+    void regStats();
+
     void setCPU(FullCPU *cpu_ptr);
 
     void setTimeBuffer(TimeBuffer<TimeStruct> *tb_ptr);
@@ -182,6 +185,22 @@ class SimpleRename
      *  group of instructions, it can restart at the proper instruction.
      */
     unsigned numInst;
+
+    Stats::Scalar<> renameSquashCycles;
+    Stats::Scalar<> renameIdleCycles;
+    Stats::Scalar<> renameBlockCycles;
+    Stats::Scalar<> renameUnblockCycles;
+    Stats::Scalar<> renameRenamedInsts;
+    Stats::Scalar<> renameSquashedInsts;
+    Stats::Scalar<> renameROBFullEvents;
+    Stats::Scalar<> renameIQFullEvents;
+    Stats::Scalar<> renameFullRegistersEvents;
+    Stats::Scalar<> renameRenamedOperands;
+    Stats::Scalar<> renameRenameLookups;
+    Stats::Scalar<> renameHBPlaceHolders;
+    Stats::Scalar<> renameCommittedMaps;
+    Stats::Scalar<> renameUndoneMaps;
+    Stats::Scalar<> renameValidUndoneMaps;
 };
 
-#endif // __SIMPLE_RENAME_HH__
+#endif // __CPU_BETA_CPU_SIMPLE_RENAME_HH__