Go to the documentation of this file.
38 #ifndef __CPU_SIMPLE_PROBES_SIMPOINT_HH__
39 #define __CPU_SIMPLE_PROBES_SIMPOINT_HH__
41 #include <unordered_map>
45 #include "params/SimPoint.hh"
67 return hash<Addr>()(
bb.first +
bb.second);
111 std::unordered_map<BasicBlockRange, BBInfo>
bbMap;
118 #endif // __CPU_SIMPLE_PROBES_SIMPOINT_HH__
OutputStream * simpointStream
Pointer to SimPoint BBV output stream.
void profile(const std::pair< SimpleThread *, StaticInstPtr > &)
Profile basic blocks for SimPoints.
uint64_t intervalDrift
Excess inst count from previous interval.
uint64_t currentBBVInstCount
inst count in current basic block
uint64_t intervalCount
Inst count in current basic block.
uint64_t insts
Num of static insts in BB.
std::pair< Addr, Addr > BasicBlockRange
Probe for SimPoints BBV generation.
SimPoint(const SimPointParams *params)
This class is a minimal wrapper around SimObject.
const Params * params() const
std::unordered_map< BasicBlockRange, BBInfo > bbMap
Hash table containing all previously seen basic blocks.
virtual void regProbeListeners()
Register probe listeners for this object.
Overload hash function for BasicBlockRange type.
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
size_t operator()(const BasicBlockRange &bb) const
BasicBlockRange currentBBV
Currently executing basic block.
const uint64_t intervalSize
SimPoint profiling interval size in instructions.
uint64_t count
Accumulated dynamic inst count executed by BB.
Generated on Wed Sep 30 2020 14:02:09 for gem5 by doxygen 1.8.17