Internals: UINFO now includes newline itself. No functional change.

This commit is contained in:
Wilson Snyder
2025-05-22 20:29:32 -04:00
parent 091be59f0d
commit 46c7b69c64
129 changed files with 1259 additions and 1287 deletions
+10 -10
View File
@@ -172,7 +172,7 @@ class TableVisitor final : public VNVisitor {
public:
void simulateVarRefCb(AstVarRef* nodep) {
// Called by TableSimulateVisitor on each unique varref encountered
UINFO(9, " SimVARREF " << nodep << endl);
UINFO(9, " SimVARREF " << nodep);
AstVarScope* const vscp = nodep->varScopep();
if (nodep->access().isWriteOrRW()) {
// We'll make the table with a separate natural alignment for each output var, so
@@ -233,9 +233,9 @@ private:
<< " in width (bits)=" << m_inWidthBits << " out width (bytes)="
<< m_outWidthBytes << " Spacetime=" << (space / time) << "("
<< space << "/" << time << ")"
<< ": " << nodep << endl);
<< ": " << nodep);
if (chkvis.optimizable()) {
UINFO(3, " Table Optimize spacetime=" << (space / time) << " " << nodep << endl);
UINFO(3, " Table Optimize spacetime=" << (space / time) << " " << nodep);
m_totalBytes += space;
}
return chkvis.optimizable();
@@ -287,7 +287,7 @@ private:
for (uint32_t i = 0; i <= VL_MASK_I(m_inWidthBits); ++i) {
const uint32_t inValue = i;
// Make a new simulation structure so we can set new input values
UINFO(8, " Simulating " << std::hex << inValue << endl);
UINFO(8, " Simulating " << std::hex << inValue);
// Above simulateVisitor clears user 3, so
// all outputs default to nullptr to mean 'recirculating'.
@@ -304,7 +304,7 @@ private:
// We are using 32 bit arithmetic, because there's no way the input table can be
// 2^32 bytes!
UASSERT_OBJ(shift <= 32, nodep, "shift overflow");
UINFO(8, " Input " << invscp->name() << " = " << cnst.name() << endl);
UINFO(8, " Input " << invscp->name() << " = " << cnst.name());
}
// Simulate
@@ -317,12 +317,12 @@ private:
V3Number outputAssignedMask{nodep, static_cast<int>(m_outVarps.size()), 0};
for (TableOutputVar& tov : m_outVarps) {
if (V3Number* const outnump = simvis.fetchOutNumberNull(tov.varScopep())) {
UINFO(8, " Output " << tov.name() << " = " << *outnump << endl);
UINFO(8, " Output " << tov.name() << " = " << *outnump);
UASSERT_OBJ(!outnump->isAnyXZ(), outnump, "Table should not contain X/Z");
outputAssignedMask.setBit(tov.ord(), 1); // Mark output as assigned
tov.addValue(inValue, *outnump);
} else {
UINFO(8, " Output " << tov.name() << " not set for this input\n");
UINFO(8, " Output " << tov.name() << " not set for this input");
tov.setMayBeUnassigned();
}
}
@@ -388,13 +388,13 @@ private:
iterateChildren(nodep);
}
void visit(AstScope* nodep) override {
UINFO(4, " SCOPE " << nodep << endl);
UINFO(4, " SCOPE " << nodep);
VL_RESTORER(m_scopep);
m_scopep = nodep;
iterateChildren(nodep);
}
void visit(AstAlways* nodep) override {
UINFO(4, " ALWAYS " << nodep << endl);
UINFO(4, " ALWAYS " << nodep);
if (treeTest(nodep)) {
// Well, then, I'll be a memory hog.
replaceWithTable(nodep);
@@ -426,7 +426,7 @@ void TableSimulateVisitor::varRefCb(AstVarRef* nodep) {
// Table class functions
void V3Table::tableAll(AstNetlist* nodep) {
UINFO(2, __FUNCTION__ << ": " << endl);
UINFO(2, __FUNCTION__ << ":");
{ TableVisitor{nodep}; } // Destruct before checking
V3Global::dumpCheckGlobalTree("table", 0, dumpTreeEitherLevel() >= 3);
}