From 2e5e34d426a58e1074e12962a496bde4cc5f9930 Mon Sep 17 00:00:00 2001 From: Geza Lore Date: Fri, 25 Sep 2026 15:41:38 +0100 Subject: [PATCH] Internals: Set fabricated variable lifetimes Set implicit net and traced coverage var lifetimes. No functional change. --- src/V3Coverage.cpp | 1 + src/V3LinkDot.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/V3Coverage.cpp b/src/V3Coverage.cpp index 2da9de2e2..f84b8ff83 100644 --- a/src/V3Coverage.cpp +++ b/src/V3Coverage.cpp @@ -199,6 +199,7 @@ class CoverageVisitor final : public VNVisitor { AstVar* const varp = new AstVar{fl_nowarn, VVarType::MODULETEMP, trace_var_name, incp->findUInt32DType()}; varp->setIgnoreSchedWrite(); // Ignore the increment output, so no UNOPTFLAT + varp->lifetime(VLifetime::STATIC_IMPLICIT); varp->trace(true); m_modp->addStmtsp(varp); UINFO(5, "New coverage trace: " << varp); diff --git a/src/V3LinkDot.cpp b/src/V3LinkDot.cpp index 57507f074..8ef3a6ad2 100644 --- a/src/V3LinkDot.cpp +++ b/src/V3LinkDot.cpp @@ -3285,6 +3285,7 @@ class LinkDotResolveVisitor final : public VNVisitor { } AstVar* const newp = new AstVar{nodep->fileline(), VVarType::WIRE, nodep->name(), VFlagLogicPacked{}, 1}; + newp->lifetime(VLifetime::STATIC_IMPLICIT); newp->trace(modp->modTrace()); modp->addStmtsp(newp); // Link it to signal list, must add the variable under the module;