Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/45620 )

Change subject: cpu: Eliminate some macros in the minor CPU.
......................................................................

cpu: Eliminate some macros in the minor CPU.

These were MINORTRACE, MINORINST, and MINORLINE. Replace them with
inline template functions.

Change-Id: I02b13d60b41349dfe7ac33e6009c0e3e5cf11156
---
M src/cpu/minor/activity.cc
M src/cpu/minor/buffers.hh
M src/cpu/minor/decode.cc
M src/cpu/minor/dyn_inst.cc
M src/cpu/minor/execute.cc
M src/cpu/minor/fetch1.cc
M src/cpu/minor/fetch2.cc
M src/cpu/minor/lsq.cc
M src/cpu/minor/scoreboard.cc
M src/cpu/minor/trace.hh
10 files changed, 40 insertions(+), 23 deletions(-)



diff --git a/src/cpu/minor/activity.cc b/src/cpu/minor/activity.cc
index aefe65c..deabf06 100644
--- a/src/cpu/minor/activity.cc
+++ b/src/cpu/minor/activity.cc
@@ -59,7 +59,8 @@
             stages << ',';
     }

- MINORTRACE("activity=%d stages=%s\n", getActivityCount(), stages.str());
+    Minor::minorTrace("activity=%d stages=%s\n", getActivityCount(),
+            stages.str());
 }

 }
diff --git a/src/cpu/minor/buffers.hh b/src/cpu/minor/buffers.hh
index 11ae83a..77914f7 100644
--- a/src/cpu/minor/buffers.hh
+++ b/src/cpu/minor/buffers.hh
@@ -208,7 +208,7 @@
                 data << ',';
         }

-        MINORTRACE("%s=%s\n", dataName, data.str());
+        Minor::minorTrace("%s=%s\n", dataName, data.str());
     }
 };

@@ -547,7 +547,7 @@
                 data << ',';
         }

-        MINORTRACE("%s=%s\n", dataName, data.str());
+        Minor::minorTrace("%s=%s\n", dataName, data.str());
     }
 };

diff --git a/src/cpu/minor/decode.cc b/src/cpu/minor/decode.cc
index a88af21..556bfa9 100644
--- a/src/cpu/minor/decode.cc
+++ b/src/cpu/minor/decode.cc
@@ -344,7 +344,7 @@
     else
         (*out.inputWire).reportData(data);

-    MINORTRACE("insts=%s\n", data.str());
+    Minor::minorTrace("insts=%s\n", data.str());
     inputBuffer[0].minorTrace();
 }

diff --git a/src/cpu/minor/dyn_inst.cc b/src/cpu/minor/dyn_inst.cc
index c0b5495..bfd83ea 100644
--- a/src/cpu/minor/dyn_inst.cc
+++ b/src/cpu/minor/dyn_inst.cc
@@ -182,7 +182,7 @@
         const BaseISA::RegClasses &reg_classes) const
 {
     if (isFault()) {
-        MINORINST(&named_object, "id=F;%s addr=0x%x fault=\"%s\"\n",
+        minorInst(named_object, "id=F;%s addr=0x%x fault=\"%s\"\n",
             id, pc.instAddr(), fault->name());
     } else {
         unsigned int num_src_regs = staticInst->numSrcRegs();
@@ -223,7 +223,7 @@
         std::ostringstream flags;
         staticInst->printFlags(flags, " ");

-        MINORINST(&named_object, "id=%s addr=0x%x inst=\"%s\" class=%s"
+        minorInst(named_object, "id=%s addr=0x%x inst=\"%s\" class=%s"
             " flags=\"%s\"%s%s\n",
             id, pc.instAddr(),
             (staticInst->opClass() == No_OpClass ?
diff --git a/src/cpu/minor/execute.cc b/src/cpu/minor/execute.cc
index 9ab135b..cf08c85 100644
--- a/src/cpu/minor/execute.cc
+++ b/src/cpu/minor/execute.cc
@@ -1675,7 +1675,7 @@
             stalled << ',';
     }

-    MINORTRACE("insts=%s inputIndex=%d streamSeqNum=%d"
+    Minor::minorTrace("insts=%s inputIndex=%d streamSeqNum=%d"
         " stalled=%s drainState=%d isInbetweenInsts=%d\n",
insts.str(), executeInfo[0].inputIndex, executeInfo[0].streamSeqNum,
         stalled.str(), executeInfo[0].drainState, isInbetweenInsts(0));
diff --git a/src/cpu/minor/fetch1.cc b/src/cpu/minor/fetch1.cc
index ebcc88d..9b774c0 100644
--- a/src/cpu/minor/fetch1.cc
+++ b/src/cpu/minor/fetch1.cc
@@ -391,16 +391,16 @@
 Fetch1::minorTraceResponseLine(const std::string &name,
     Fetch1::FetchRequestPtr response) const
 {
-    GEM5_VAR_USED const RequestPtr &request = response->request;
+    const RequestPtr &request = response->request;

     if (response->packet && response->packet->isError()) {
-        MINORLINE(this, "id=F;%s vaddr=0x%x fault=\"error packet\"\n",
+        minorLine(*this, "id=F;%s vaddr=0x%x fault=\"error packet\"\n",
             response->id, request->getVaddr());
     } else if (response->fault != NoFault) {
-        MINORLINE(this, "id=F;%s vaddr=0x%x fault=\"%s\"\n",
+        minorLine(*this, "id=F;%s vaddr=0x%x fault=\"%s\"\n",
             response->id, request->getVaddr(), response->fault->name());
     } else {
-        MINORLINE(this, "id=%s size=%d vaddr=0x%x paddr=0x%x\n",
+        minorLine(*this, "id=%s size=%d vaddr=0x%x paddr=0x%x\n",
             response->id, request->getSize(),
             request->getVaddr(), request->getPaddr());
     }
@@ -765,7 +765,7 @@
     else
         (*out.inputWire).reportData(data);

-    MINORTRACE("state=%s icacheState=%s in_tlb_mem=%s/%s"
+    Minor::minorTrace("state=%s icacheState=%s in_tlb_mem=%s/%s"
         " streamSeqNum=%d lines=%s\n", thread.state, icacheState,
         numFetchesInITLB, numFetchesInMemorySystem,
         thread.streamSeqNum, data.str());
diff --git a/src/cpu/minor/fetch2.cc b/src/cpu/minor/fetch2.cc
index 7f791f8..dace07d 100644
--- a/src/cpu/minor/fetch2.cc
+++ b/src/cpu/minor/fetch2.cc
@@ -644,8 +644,9 @@
     else
         (*out.inputWire).reportData(data);

-    MINORTRACE("inputIndex=%d havePC=%d predictionSeqNum=%d insts=%s\n",
- fetchInfo[0].inputIndex, fetchInfo[0].havePC, fetchInfo[0].predictionSeqNum, data.str()); + Minor::minorTrace("inputIndex=%d havePC=%d predictionSeqNum=%d insts=%s\n",
+        fetchInfo[0].inputIndex, fetchInfo[0].havePC,
+        fetchInfo[0].predictionSeqNum, data.str());
     inputBuffer[0].minorTrace();
 }

diff --git a/src/cpu/minor/lsq.cc b/src/cpu/minor/lsq.cc
index 56ec39e..b7e039f 100644
--- a/src/cpu/minor/lsq.cc
+++ b/src/cpu/minor/lsq.cc
@@ -950,7 +950,7 @@
             os << ',';
     }

-    MINORTRACE("addr=%s num_unissued_stores=%d\n", os.str(),
+    Minor::minorTrace("addr=%s num_unissued_stores=%d\n", os.str(),
         numUnissuedAccesses);
 }

@@ -1665,7 +1665,7 @@
 void
 LSQ::minorTrace() const
 {
-    MINORTRACE("state=%s in_tlb_mem=%d/%d stores_in_transfers=%d"
+    Minor::minorTrace("state=%s in_tlb_mem=%d/%d stores_in_transfers=%d"
         " lastMemBarrier=%d\n",
         state, numAccessesInDTLB, numAccessesInMemorySystem,
         numStoresInTransfers, lastMemBarrier[0]);
diff --git a/src/cpu/minor/scoreboard.cc b/src/cpu/minor/scoreboard.cc
index 3fa60f1..18eaf5d 100644
--- a/src/cpu/minor/scoreboard.cc
+++ b/src/cpu/minor/scoreboard.cc
@@ -302,7 +302,7 @@
         i++;
     }

-    MINORTRACE("busy=%s\n", result_stream.str());
+    Minor::minorTrace("busy=%s\n", result_stream.str());
 }

 }
diff --git a/src/cpu/minor/trace.hh b/src/cpu/minor/trace.hh
index a3bbb32..1900ba0 100644
--- a/src/cpu/minor/trace.hh
+++ b/src/cpu/minor/trace.hh
@@ -50,6 +50,7 @@

 #include <string>

+#include "base/named.hh"
 #include "base/trace.hh"
 #include "debug/MinorTrace.hh"

@@ -57,16 +58,30 @@
 {

 /** DPRINTFN for MinorTrace reporting */
-#define MINORTRACE(...) \
-    DPRINTF(MinorTrace, "MinorTrace: " __VA_ARGS__)
+template <class ...Args>
+inline void
+minorTrace(const char *fmt, Args ...args)
+{
+ DPRINTF(MinorTrace, (std::string("MinorTrace: ") + fmt).c_str(), args...);
+}

 /** DPRINTFN for MinorTrace MinorInst line reporting */
-#define MINORINST(sim_object, ...) \
-    DPRINTFS(MinorTrace, (sim_object), "MinorInst: " __VA_ARGS__)
+template <class ...Args>
+inline void
+minorInst(const Named &named, const char *fmt, Args ...args)
+{
+ DPRINTFS(MinorTrace, &named, (std::string("MinorInst: ") + fmt).c_str(),
+             args...);
+}

 /** DPRINTFN for MinorTrace MinorLine line reporting */
-#define MINORLINE(sim_object, ...) \
-    DPRINTFS(MinorTrace, (sim_object), "MinorLine: " __VA_ARGS__)
+template <class ...Args>
+inline void
+minorLine(const Named &named, const char *fmt, Args ...args)
+{
+ DPRINTFS(MinorTrace, &named, (std::string("MinorLine: ") + fmt).c_str(),
+             args...);
+}

 }


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/45620
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I02b13d60b41349dfe7ac33e6009c0e3e5cf11156
Gerrit-Change-Number: 45620
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to