Deprecate sensitivity list on public_flat_rw attributes (#6443)

These are no longer required for correct scheduling. They are still
accepted for backward compatibility, but have no effect on simulation
and are dropped in the front-end. Also removed the then redundant
AstAlwaysPublic class.

Fixes #6442
This commit is contained in:
Geza Lore
2025-09-16 22:38:53 +01:00
committed by GitHub
parent ad530c4b08
commit f39d6e6108
20 changed files with 48 additions and 141 deletions
-10
View File
@@ -213,8 +213,6 @@ struct SplitVarImpl VL_NOT_FINAL {
AstNode* const backp = stmtp->backp();
if (AstAlways* const ap = VN_CAST(backp, Always)) {
insertBeginCore(ap, stmtp, modp);
} else if (AstAlwaysPublic* const ap = VN_CAST(backp, AlwaysPublic)) {
insertBeginCore(ap, stmtp, modp);
} else if (AstInitial* const ap = VN_CAST(backp, Initial)) {
insertBeginCore(ap, stmtp, modp);
} else if (auto* const ap = VN_CAST(backp, Initial)) {
@@ -480,14 +478,6 @@ class SplitUnpackedVarVisitor final : public VNVisitor, public SplitVarImpl {
for (AstNode* bodysp = nodep->stmtsp(); bodysp; bodysp = bodysp->nextp()) {
iterate(bodysp);
}
};
void visit(AstAlwaysPublic* nodep) override {
if (nodep->sentreep()) { // When visiting sensitivity list, always is the context
setContextAndIterate(nodep, nodep->sentreep());
}
for (AstNode* bodysp = nodep->stmtsp(); bodysp; bodysp = bodysp->nextp()) {
iterate(bodysp);
}
}
void visit(AstNodeFTaskRef* nodep) override {
const AstNodeFTask* const ftaskp = nodep->taskp();