fastmodel: Use getCurrentInstCount for totalInsts().
authorGabe Black <gabeblack@google.com>
Mon, 14 Oct 2019 06:57:22 +0000 (23:57 -0700)
committerGabe Black <gabeblack@google.com>
Fri, 25 Oct 2019 22:42:31 +0000 (22:42 +0000)
This had been using a custom totalInsts method on the iris
ThreadContext, but since that's equivalent to what the totalInsts
method does only through a different mechanism, we can
drop that and use getCurrentInstCount instead.

Change-Id: I058fec13e81f28285281e136635d53a2e849cb47
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/22112
Reviewed-by: Giacomo Travaglini <giacomo.travaglini@arm.com>
Maintainer: Giacomo Travaglini <giacomo.travaglini@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/arch/arm/fastmodel/iris/arm/thread_context.cc
src/arch/arm/fastmodel/iris/arm/thread_context.hh
src/arch/arm/fastmodel/iris/cpu.cc
src/arch/arm/fastmodel/iris/thread_context.hh

index 270adca4d8b2c39bc4117467f52e9ab111036a34..b8e98edcdc193edcb578d24f7e213e092a473476 100644 (file)
@@ -105,14 +105,6 @@ ArmThreadContext::nextInstAddr() const
     return pcState().nextInstAddr();
 }
 
-Counter
-ArmThreadContext::totalInsts()
-{
-    iris::ResourceReadResult result;
-    call().resource_read(_instId, result, icountRscId);
-    return result.data.at(0);
-}
-
 uint64_t
 ArmThreadContext::readIntReg(RegIndex reg_idx) const
 {
index c747eba469ce119da88c65405fdd07655e471dc5..f5be14dde188fb1795c43ad059b60e3d3e86a2af 100644 (file)
@@ -62,8 +62,6 @@ class ArmThreadContext : public Iris::ThreadContext
     ResourceIds intReg32Ids;
     ResourceIds intReg64Ids;
 
-    Counter totalInsts() override;
-
     void setIntReg(RegIndex reg_idx, RegVal val) override;
     RegVal readIntReg(RegIndex reg_idx) const override;
     TheISA::ISA *
index 246fe0cf0ea65d314095540c0c5de851d464856b..63cd731dcf3fb26c5dd861f4a3b3cd0f01b153a0 100644 (file)
@@ -82,10 +82,8 @@ Counter
 BaseCPU::totalInsts() const
 {
     Counter count = 0;
-    for (auto *tc: threadContexts) {
-        auto *itc = dynamic_cast<Iris::ThreadContext *>(tc);
-        count += itc->totalInsts();
-    }
+    for (auto *tc: threadContexts)
+        count += tc->getCurrentInstCount();
     return count;
 }
 
index da96661617d90412bb4b020ff140788725ddd1e7..73470c5b2eb932deba7e0ae4a77e2d1a86bc27ee 100644 (file)
@@ -102,12 +102,6 @@ class ThreadContext : public ::ThreadContext
     void descheduleInstCountEvent(Event *event) override {}
     Tick getCurrentInstCount() override;
 
-    virtual Counter
-    totalInsts()
-    {
-        panic("%s not implemented.", __FUNCTION__);
-    }
-
     ::BaseCPU *getCpuPtr() override { return _cpu; }
     int cpuId() const override { return _cpu->cpuId(); }
     uint32_t socketId() const override { return _cpu->socketId(); }