forked from github/verilator
Internals: Cleanup dead function names. Merge from dtype. No functional change.
This commit is contained in:
parent
33577eaa68
commit
9c4ef27d49
@ -241,7 +241,15 @@ public:
|
|||||||
//######################################################################
|
//######################################################################
|
||||||
// Dead class functions
|
// Dead class functions
|
||||||
|
|
||||||
void V3Dead::deadifyAll(AstNetlist* nodep, bool elimUserVars) {
|
void V3Dead::deadifyModules(AstNetlist* nodep) {
|
||||||
UINFO(2,__FUNCTION__<<": "<<endl);
|
UINFO(2,__FUNCTION__<<": "<<endl);
|
||||||
DeadVisitor visitor (nodep, elimUserVars);
|
DeadVisitor visitor (nodep, false);
|
||||||
|
}
|
||||||
|
void V3Dead::deadifyDTypes(AstNetlist* nodep) {
|
||||||
|
UINFO(2,__FUNCTION__<<": "<<endl);
|
||||||
|
DeadVisitor visitor (nodep, false);
|
||||||
|
}
|
||||||
|
void V3Dead::deadifyAll(AstNetlist* nodep) {
|
||||||
|
UINFO(2,__FUNCTION__<<": "<<endl);
|
||||||
|
DeadVisitor visitor (nodep, true);
|
||||||
}
|
}
|
||||||
|
@ -31,8 +31,12 @@
|
|||||||
|
|
||||||
class V3Dead {
|
class V3Dead {
|
||||||
public:
|
public:
|
||||||
|
// Modules, no vars/dtypes
|
||||||
|
static void deadifyModules(AstNetlist* nodep);
|
||||||
|
// Modules, Data types
|
||||||
|
static void deadifyDTypes(AstNetlist* nodep);
|
||||||
// Everything that's possible
|
// Everything that's possible
|
||||||
static void deadifyAll(AstNetlist* nodep, bool elimUserVars);
|
static void deadifyAll(AstNetlist* nodep);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // Guard
|
#endif // Guard
|
||||||
|
@ -67,6 +67,7 @@ public:
|
|||||||
|
|
||||||
//######################################################################
|
//######################################################################
|
||||||
// Given a node, flip any VarRef from LValue to RValue (i.e. make it an input)
|
// Given a node, flip any VarRef from LValue to RValue (i.e. make it an input)
|
||||||
|
// See also V3LinkLValue::linkLValueSet
|
||||||
|
|
||||||
class TristateInPinVisitor : public TristateBaseVisitor {
|
class TristateInPinVisitor : public TristateBaseVisitor {
|
||||||
// VISITORS
|
// VISITORS
|
||||||
|
@ -61,6 +61,10 @@
|
|||||||
// Logicals convert compared to zero
|
// Logicals convert compared to zero
|
||||||
// If any operand is real, result is real
|
// If any operand is real, result is real
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
|
// V3Width is the only visitor that uses vup. We could switch to using userp,
|
||||||
|
// though note some iterators operate on next() and so would need to pass the
|
||||||
|
// same value on each nextp().
|
||||||
|
//*************************************************************************
|
||||||
|
|
||||||
#include "config_build.h"
|
#include "config_build.h"
|
||||||
#include "verilatedos.h"
|
#include "verilatedos.h"
|
||||||
|
@ -185,7 +185,7 @@ void process () {
|
|||||||
V3Error::abortIfErrors();
|
V3Error::abortIfErrors();
|
||||||
|
|
||||||
// Remove any modules that were parameterized and are no longer referenced.
|
// Remove any modules that were parameterized and are no longer referenced.
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), false);
|
V3Dead::deadifyModules(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("dead.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("dead.tree");
|
||||||
v3Global.checkTree();
|
v3Global.checkTree();
|
||||||
|
|
||||||
@ -274,10 +274,10 @@ void process () {
|
|||||||
|
|
||||||
// Initial const/dead to reduce work for ordering code
|
// Initial const/dead to reduce work for ordering code
|
||||||
V3Const::constifyAll(v3Global.rootp());
|
V3Const::constifyAll(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("const_predad.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("const_predead.tree");
|
||||||
v3Global.checkTree();
|
v3Global.checkTree();
|
||||||
|
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), false);
|
V3Dead::deadifyDTypes(v3Global.rootp());
|
||||||
V3Global::dumpGlobalTree("const.tree");
|
V3Global::dumpGlobalTree("const.tree");
|
||||||
v3Global.checkTree();
|
v3Global.checkTree();
|
||||||
|
|
||||||
@ -309,8 +309,8 @@ void process () {
|
|||||||
if (!v3Global.opt.xmlOnly()) {
|
if (!v3Global.opt.xmlOnly()) {
|
||||||
// Cleanup
|
// Cleanup
|
||||||
V3Const::constifyAll(v3Global.rootp());
|
V3Const::constifyAll(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("const_predad.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("const_predead.tree");
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), false);
|
V3Dead::deadifyDTypes(v3Global.rootp());
|
||||||
v3Global.checkTree();
|
v3Global.checkTree();
|
||||||
V3Global::dumpGlobalTree("const.tree");
|
V3Global::dumpGlobalTree("const.tree");
|
||||||
|
|
||||||
@ -353,8 +353,8 @@ void process () {
|
|||||||
|
|
||||||
// Cleanup
|
// Cleanup
|
||||||
V3Const::constifyAll(v3Global.rootp());
|
V3Const::constifyAll(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("const_predad.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("const_predead.tree");
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), false);
|
V3Dead::deadifyDTypes(v3Global.rootp());
|
||||||
v3Global.checkTree();
|
v3Global.checkTree();
|
||||||
V3Global::dumpGlobalTree("const.tree");
|
V3Global::dumpGlobalTree("const.tree");
|
||||||
|
|
||||||
@ -402,8 +402,8 @@ void process () {
|
|||||||
|
|
||||||
// Remove unused vars
|
// Remove unused vars
|
||||||
V3Const::constifyAll(v3Global.rootp());
|
V3Const::constifyAll(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("const_predad.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("const_predead.tree");
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), true);
|
V3Dead::deadifyAll(v3Global.rootp());
|
||||||
V3Global::dumpGlobalTree("const.tree");
|
V3Global::dumpGlobalTree("const.tree");
|
||||||
|
|
||||||
// Clock domain crossing analysis
|
// Clock domain crossing analysis
|
||||||
@ -460,8 +460,8 @@ void process () {
|
|||||||
|
|
||||||
// Remove unused vars
|
// Remove unused vars
|
||||||
V3Const::constifyAll(v3Global.rootp());
|
V3Const::constifyAll(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("const_predad.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("const_predead.tree");
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), true);
|
V3Dead::deadifyAll(v3Global.rootp());
|
||||||
V3Global::dumpGlobalTree("const.tree");
|
V3Global::dumpGlobalTree("const.tree");
|
||||||
|
|
||||||
#ifndef NEW_ORDERING
|
#ifndef NEW_ORDERING
|
||||||
@ -514,8 +514,8 @@ void process () {
|
|||||||
if (!v3Global.opt.xmlOnly()) {
|
if (!v3Global.opt.xmlOnly()) {
|
||||||
// Remove unused vars
|
// Remove unused vars
|
||||||
V3Const::constifyAll(v3Global.rootp());
|
V3Const::constifyAll(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("const_predad.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("const_predead.tree");
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), true);
|
V3Dead::deadifyAll(v3Global.rootp());
|
||||||
V3Global::dumpGlobalTree("const.tree");
|
V3Global::dumpGlobalTree("const.tree");
|
||||||
|
|
||||||
// Here down, widthMin() is the Verilog width, and width() is the C++ width
|
// Here down, widthMin() is the Verilog width, and width() is the C++ width
|
||||||
@ -553,7 +553,7 @@ void process () {
|
|||||||
V3Const::constifyCpp(v3Global.rootp());
|
V3Const::constifyCpp(v3Global.rootp());
|
||||||
if (dumpMore) V3Global::dumpGlobalTree("constc.tree");
|
if (dumpMore) V3Global::dumpGlobalTree("constc.tree");
|
||||||
|
|
||||||
V3Dead::deadifyAll(v3Global.rootp(), true);
|
V3Dead::deadifyAll(v3Global.rootp());
|
||||||
V3Global::dumpGlobalTree("dead.tree");
|
V3Global::dumpGlobalTree("dead.tree");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user