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 ®_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