Go to the documentation of this file.
44 intervalSize(
p->interval),
49 currentBBVInstCount(0)
53 fatal(
"unable to open SimPoint profile_file");
70 listeners.push_back(
new SimPointListener(
this,
"Commit",
94 if (map_itr ==
bbMap.end()){
106 BBInfo& info = map_itr->second;
117 for (
auto map_itr =
bbMap.begin(); map_itr !=
bbMap.end();
119 BBInfo& info = map_itr->second;
120 if (info.
count != 0) {
121 counts.push_back(std::make_pair(info.
id, info.
count));
125 std::sort(counts.begin(), counts.end());
129 for (
auto cnt_itr = counts.begin(); cnt_itr != counts.end();
132 <<
":" << cnt_itr->second <<
" ";
144 SimPointParams::create()
#define fatal(...)
This implements a cprintf based fatal() function.
OutputStream * simpointStream
Pointer to SimPoint BBV output stream.
TheISA::PCState pcState() const override
void profile(const std::pair< SimpleThread *, StaticInstPtr > &)
Profile basic blocks for SimPoints.
uint64_t intervalDrift
Excess inst count from previous interval.
OutputStream * create(const std::string &name, bool binary=false, bool no_gz=false)
Creates a file in this directory (optionally compressed).
uint64_t currentBBVInstCount
inst count in current basic block
std::vector< ProbeListener * > listeners
ProbeListenerArg generates a listener for the class of Arg and the class type T which is the class co...
The SimpleThread object provides a combination of the ThreadState object and the ThreadContext interf...
uint64_t intervalCount
Inst count in current basic block.
uint64_t insts
Num of static insts in BB.
std::ostream * stream() const
Get the output underlying output stream.
void close(OutputStream *file)
Closes an output file and free the corresponding OutputFile.
SimPoint(const SimPointParams *params)
This class is a minimal wrapper around SimObject.
std::unordered_map< BasicBlockRange, BBInfo > bbMap
Hash table containing all previously seen basic blocks.
bool isLastMicroop() const
virtual void regProbeListeners()
Register probe listeners for this object.
virtual void init()
init() is called after all C++ SimObjects have been created and all ports are connected.
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