Internals: Cleanup scheduling

sched_forks.tree used to be dumped before sched.tree, while it's
basically after, so move transformForks in to a separate pass. Also
extract inlined visitors in V3SchedTiming.
This commit is contained in:
Geza Lore
2025-10-26 09:47:09 +00:00
parent 388fc863f4
commit d236e4c054
3 changed files with 273 additions and 274 deletions
+3 -4
View File
@@ -1306,6 +1306,7 @@ void schedule(AstNetlist* netlistp) {
// Step 8: Create the pre/act/nba triggers
AstVarScope* const dpiExportTriggerVscp = netlistp->dpiExportTriggerp();
netlistp->dpiExportTriggerp(nullptr); // Finished with this here
// We may have an extra trigger for variable updated in DPI exports
ExtraTriggers extraTriggers;
@@ -1493,12 +1494,10 @@ void schedule(AstNetlist* netlistp) {
createEval(netlistp, icoLoopp, actKit, preTrigVscp, nbaKit, obsKit, reactKit, postponedFuncp,
timingKit);
transformForks(netlistp);
// Haven't split static initializer yet
splitCheck(staticp);
netlistp->dpiExportTriggerp(nullptr);
// Dump
V3Global::dumpCheckGlobalTree("sched", 0, dumpTreeEitherLevel() >= 3);
}