The ppCommit should notify the attached listener every time the cpu commits
a microop or non microcoded insturction. The listener can then decide
whether it will process only the last microop (eg. SimPoint probe).
Committed by: Nilay Vaish <nilay@cs.wisc.edu>
// keep an instruction count
if (fault == NoFault) {
countInst();
- if (!curStaticInst->isMicroop() ||
- curStaticInst->isLastMicroop()) {
- ppCommit->notify(std::make_pair(thread, curStaticInst));
- }
+ ppCommit->notify(std::make_pair(thread, curStaticInst));
}
else if (traceData && !DTRACE(ExecFaulting)) {
delete traceData;
SimpleThread* thread = p.first;
const StaticInstPtr &inst = p.second;
+ if (inst->isMicroop() && !inst->isLastMicroop())
+ return;
+
if (!currentBBVInstCount)
currentBBV.first = thread->pcState().instAddr();