Internals: No need for 'if' before VL_FFLUSH_I

This commit is contained in:
Wilson Snyder 2025-08-10 06:13:18 -04:00
parent d28436dccc
commit a74a3bb689
1 changed files with 12 additions and 15 deletions

View File

@ -482,8 +482,8 @@ public:
emitIQW(selp->fromp()); emitIQW(selp->fromp());
emitIQW(nodep->rhsp()); emitIQW(nodep->rhsp());
puts("("); puts("(");
putns(selp->fromp(), cvtToStr(selp->fromp()->widthMin()) + ","); putns(selp->fromp(), cvtToStr(selp->fromp()->widthMin()) + ", ");
puts(cvtToStr(nodep->widthMin()) + ","); puts(cvtToStr(nodep->widthMin()) + ", ");
iterateAndNextConstNull(selp->lsbp()); iterateAndNextConstNull(selp->lsbp());
puts(", "); puts(", ");
iterateAndNextConstNull(selp->fromp()); iterateAndNextConstNull(selp->fromp());
@ -502,7 +502,7 @@ public:
emitScIQW(varp); emitScIQW(varp);
emitIQW(nodep); emitIQW(nodep);
puts("("); puts("(");
puts(cvtToStr(nodep->widthMin()) + ","); puts(cvtToStr(nodep->widthMin()) + ", ");
iterateAndNextConstNull(nodep->lhsp()); iterateAndNextConstNull(nodep->lhsp());
puts(", "); puts(", ");
} else if (AstVar* const varp = AstVar::scVarRecurse(nodep->rhsp())) { } else if (AstVar* const varp = AstVar::scVarRecurse(nodep->rhsp())) {
@ -510,7 +510,7 @@ public:
emitIQW(nodep); emitIQW(nodep);
emitScIQW(varp); emitScIQW(varp);
puts("("); puts("(");
puts(cvtToStr(nodep->widthMin()) + ","); puts(cvtToStr(nodep->widthMin()) + ", ");
iterateAndNextConstNull(nodep->lhsp()); iterateAndNextConstNull(nodep->lhsp());
puts(", "); puts(", ");
} else if (const AstCvtPackedToArray* const castp } else if (const AstCvtPackedToArray* const castp
@ -561,7 +561,7 @@ public:
paren = false; paren = false;
} else if (nodep->isWide() && !VN_IS(nodep->dtypep()->skipRefp(), UnpackArrayDType)) { } else if (nodep->isWide() && !VN_IS(nodep->dtypep()->skipRefp(), UnpackArrayDType)) {
putnbs(nodep, "VL_ASSIGN_W("); putnbs(nodep, "VL_ASSIGN_W(");
puts(cvtToStr(nodep->widthMin()) + ","); puts(cvtToStr(nodep->widthMin()) + ", ");
iterateAndNextConstNull(nodep->lhsp()); iterateAndNextConstNull(nodep->lhsp());
puts(", "); puts(", ");
} else { } else {
@ -671,7 +671,7 @@ public:
putnbs(nodep, "[&]("); putnbs(nodep, "[&](");
if (auto* const argrefp = nodep->indexArgRefp()) { if (auto* const argrefp = nodep->indexArgRefp()) {
putnbs(argrefp, argrefp->dtypep()->cType(argrefp->nameProtect(), false, false)); putnbs(argrefp, argrefp->dtypep()->cType(argrefp->nameProtect(), false, false));
puts(","); puts(", ");
} }
if (auto* const argrefp = nodep->valueArgRefp()) { if (auto* const argrefp = nodep->valueArgRefp()) {
putnbs(argrefp, argrefp->dtypep()->cType(argrefp->nameProtect(), false, false)); putnbs(argrefp, argrefp->dtypep()->cType(argrefp->nameProtect(), false, false));
@ -974,20 +974,17 @@ public:
if (!nodep->filep()) { if (!nodep->filep()) {
putns(nodep, "Verilated::runFlushCallbacks();\n"); putns(nodep, "Verilated::runFlushCallbacks();\n");
} else { } else {
putns(nodep, "if (");
iterateAndNextConstNull(nodep->filep());
puts(") { ");
putns(nodep, "VL_FFLUSH_I("); putns(nodep, "VL_FFLUSH_I(");
iterateAndNextConstNull(nodep->filep()); iterateAndNextConstNull(nodep->filep());
puts("); }\n"); puts(");\n");
} }
} }
void visit(AstFSeek* nodep) override { void visit(AstFSeek* nodep) override {
putns(nodep, "(VL_FSEEK_I("); putns(nodep, "(VL_FSEEK_I(");
iterateAndNextConstNull(nodep->filep()); iterateAndNextConstNull(nodep->filep());
puts(","); puts(", ");
iterateAndNextConstNull(nodep->offset()); iterateAndNextConstNull(nodep->offset());
puts(","); puts(", ");
iterateAndNextConstNull(nodep->operation()); iterateAndNextConstNull(nodep->operation());
puts(") == -1 ? -1 : 0)"); puts(") == -1 ? -1 : 0)");
} }
@ -1004,7 +1001,7 @@ public:
void visit(AstFRead* nodep) override { void visit(AstFRead* nodep) override {
putns(nodep, "VL_FREAD_I("); putns(nodep, "VL_FREAD_I(");
puts(cvtToStr(nodep->memp()->widthMin())); // Need real storage width puts(cvtToStr(nodep->memp()->widthMin())); // Need real storage width
putbs(","); putbs(", ");
uint32_t array_lo = 0; uint32_t array_lo = 0;
uint32_t array_size = 0; uint32_t array_size = 0;
{ {
@ -1022,7 +1019,7 @@ public:
} }
} }
puts(cvtToStr(array_lo)); puts(cvtToStr(array_lo));
putbs(","); putbs(", ");
puts(cvtToStr(array_size)); puts(cvtToStr(array_size));
putbs(", "); putbs(", ");
puts("&("); puts("&(");
@ -1406,7 +1403,7 @@ public:
emitIQW(nodep); emitIQW(nodep);
puts("OI("); puts("OI(");
if (nodep->srcp()) puts(cvtToStr(nodep->srcp()->widthMin())); if (nodep->srcp()) puts(cvtToStr(nodep->srcp()->widthMin()));
puts(","); puts(", ");
iterateAndNextConstNull(nodep->srcp()); iterateAndNextConstNull(nodep->srcp());
puts(", "); puts(", ");
iterateAndNextConstNull(nodep->countp()); iterateAndNextConstNull(nodep->countp());