mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 01:54:01 +02:00
Internals: Factor out --prof-exec section handling, add debug code
This commit is contained in:
+8
-4
@@ -175,7 +175,9 @@ EvalLoop createEvalLoop(
|
||||
AstNodeStmt* stmtps = nullptr;
|
||||
|
||||
// Prof-exec section push
|
||||
if (v3Global.opt.profExec()) stmtps = util::profExecSectionPush(flp, "loop " + tag);
|
||||
if (v3Global.opt.profExec()) { //
|
||||
stmtps = AstCStmt::profExecSectionPush(flp, "loop " + tag);
|
||||
}
|
||||
|
||||
const auto addVar = [&](const std::string& name, int width, uint32_t initVal) {
|
||||
AstVarScope* const vscp = scopeTopp->createTemp("__V" + tag + name, width);
|
||||
@@ -215,7 +217,9 @@ EvalLoop createEvalLoop(
|
||||
}
|
||||
|
||||
// Prof-exec section pop
|
||||
if (v3Global.opt.profExec()) stmtps->addNext(util::profExecSectionPop(flp));
|
||||
if (v3Global.opt.profExec()) {
|
||||
stmtps->addNext(AstCStmt::profExecSectionPop(flp, "loop " + tag));
|
||||
}
|
||||
|
||||
return {firstIterFlagp, stmtps};
|
||||
}
|
||||
@@ -684,7 +688,7 @@ void createEval(AstNetlist* netlistp, //
|
||||
AstCFunc* const funcp = util::makeTopFunction(netlistp, "_eval", false);
|
||||
netlistp->evalp(funcp);
|
||||
|
||||
if (v3Global.opt.profExec()) funcp->addStmtsp(util::profExecSectionPush(flp, "eval"));
|
||||
if (v3Global.opt.profExec()) funcp->addStmtsp(AstCStmt::profExecSectionPush(flp, "eval"));
|
||||
|
||||
// Start with the ico loop, if any
|
||||
if (icoLoop) funcp->addStmtsp(icoLoop);
|
||||
@@ -695,7 +699,7 @@ void createEval(AstNetlist* netlistp, //
|
||||
// Add the Postponed eval call
|
||||
if (postponedFuncp) funcp->addStmtsp(util::callVoidFunc(postponedFuncp));
|
||||
|
||||
if (v3Global.opt.profExec()) funcp->addStmtsp(util::profExecSectionPop(flp));
|
||||
if (v3Global.opt.profExec()) funcp->addStmtsp(AstCStmt::profExecSectionPop(flp, "eval"));
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user