Internals: Factor out --prof-exec section handling, add debug code

This commit is contained in:
Geza Lore
2025-11-25 10:08:03 +00:00
parent 9e37a09765
commit d2ce5e62e7
7 changed files with 51 additions and 33 deletions
+6 -7
View File
@@ -1064,10 +1064,9 @@ class TaskVisitor final : public VNVisitor {
AstCFunc* dpiFuncp) {
const char* const tmpSuffixp = V3Task::dpiTemporaryVarSuffix();
if (v3Global.opt.profExec())
cfuncp->addStmtsp(
new AstCStmt{nodep->fileline(),
"VL_EXEC_TRACE_ADD_RECORD(vlSymsp).sectionPush(\"dpiimports\");"});
if (v3Global.opt.profExec()) {
cfuncp->addStmtsp(AstCStmt::profExecSectionPush(nodep->fileline(), "dpiimports"));
}
// Convert input/inout arguments to DPI types
string args;
@@ -1161,9 +1160,9 @@ class TaskVisitor final : public VNVisitor {
}
}
if (v3Global.opt.profExec())
cfuncp->addStmtsp(new AstCStmt{nodep->fileline(),
"VL_EXEC_TRACE_ADD_RECORD(vlSymsp).sectionPop();"});
if (v3Global.opt.profExec()) {
cfuncp->addStmtsp(AstCStmt::profExecSectionPop(nodep->fileline(), "dpiimports"));
}
}
AstVarScope* getDpiExporTrigger() {