diff --git a/Changes b/Changes index e5f0e02b2..af190d398 100644 --- a/Changes +++ b/Changes @@ -17,6 +17,7 @@ Verilator 5.021 devel * Remove deprecated 32-bit pointer mode (`gcc -m32`). * Fix delays using wrong timeunits when modules inlined (#4806). [Paul Wright] * Fix lint_off disables on preprocessor warnings (#4703). [Srinivasan Venkataramanan] +* Fix mis-splitting of dump control functions (#4821). [Fan Shupei] Verilator 5.020 2024-01-01 diff --git a/src/V3AstNodeExpr.h b/src/V3AstNodeExpr.h index 89caeed1e..a7b1a6775 100644 --- a/src/V3AstNodeExpr.h +++ b/src/V3AstNodeExpr.h @@ -2072,6 +2072,7 @@ public: string emitC() override { return "VL_VALUEPLUSARGS_%nq(%lw, %P, nullptr)"; } bool isGateOptimizable() const override { return false; } bool isPredictOptimizable() const override { return false; } + // but isPure() true bool cleanOut() const override { return true; } bool same(const AstNode* /*samep*/) const override { return true; } }; @@ -3479,6 +3480,7 @@ public: bool sizeMattersRhs() const override { return false; } bool isGateOptimizable() const override { return false; } bool isPredictOptimizable() const override { return false; } + bool isPure() override { return false; } int instrCount() const override { return INSTR_COUNT_PLI; } }; diff --git a/src/V3AstNodeOther.h b/src/V3AstNodeOther.h index ee2b52808..2ca075540 100644 --- a/src/V3AstNodeOther.h +++ b/src/V3AstNodeOther.h @@ -2840,8 +2840,9 @@ public: ASTGEN_MEMBERS_AstDumpCtl; string verilogKwd() const override { return ctlType().ascii(); } bool isGateOptimizable() const override { return false; } - bool isPredictOptimizable() const override { return false; } bool isOutputter() override { return true; } + bool isPredictOptimizable() const override { return false; } + bool isPure() override { return false; } virtual bool cleanOut() const { return true; } bool same(const AstNode* /*samep*/) const override { return true; } VDumpCtlType ctlType() const { return m_ctlType; }