Internals: Use faster VNVisitorConst where able. No functional change intended.

This commit is contained in:
Wilson Snyder
2023-11-12 18:26:40 -05:00
parent 2882737bcd
commit ee3ba7c761
7 changed files with 44 additions and 44 deletions
+5 -5
View File
@@ -236,7 +236,7 @@ string V3HierBlock::commandArgsFileName(bool forCMake) const {
//######################################################################
// Collect how hierarchical blocks are used
class HierBlockUsageCollectVisitor final : public VNVisitor {
class HierBlockUsageCollectVisitor final : public VNVisitorConst {
// NODE STATE
// AstNode::user1() -> bool. Processed
const VNUser1InUse m_inuser1;
@@ -266,7 +266,7 @@ class HierBlockUsageCollectVisitor final : public VNVisitor {
}
prevGParams.swap(m_gparams);
iterateChildren(nodep);
iterateChildrenConst(nodep);
if (nodep->hierBlock()) {
m_planp->add(nodep, m_gparams);
@@ -280,7 +280,7 @@ class HierBlockUsageCollectVisitor final : public VNVisitor {
// Visit used module here to know that the module is hier_block or not.
// This visitor behaves almost depth first search
if (AstModule* const modp = VN_CAST(nodep->modp(), Module)) {
iterate(modp);
iterateConst(modp);
m_referred.insert(modp);
}
// Nothing to do for interface because hierarchical block does not exist
@@ -294,12 +294,12 @@ class HierBlockUsageCollectVisitor final : public VNVisitor {
}
void visit(AstNodeExpr*) override {} // Accelerate
void visit(AstNode* nodep) override { iterateChildren(nodep); }
void visit(AstNode* nodep) override { iterateChildrenConst(nodep); }
public:
HierBlockUsageCollectVisitor(V3HierBlockPlan* planp, AstNetlist* netlist)
: m_planp{planp} {
iterateChildren(netlist);
iterateChildrenConst(netlist);
}
};