From c4f31d3bb6e3f0e2da6f426b2b0481bd3bdd5594 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sun, 17 May 2020 09:52:03 -0400 Subject: [PATCH] Tracing: Remove dead code. No functional change intended. --- include/verilated_fst_c.cpp | 9 ------ include/verilated_fst_c.h | 3 -- include/verilated_save.cpp | 4 +++ include/verilated_trace.h | 14 --------- include/verilated_trace_imp.cpp | 11 ------- include/verilated_vcd_c.cpp | 55 +++++++-------------------------- include/verilated_vcd_c.h | 26 ++-------------- 7 files changed, 18 insertions(+), 104 deletions(-) diff --git a/include/verilated_fst_c.cpp b/include/verilated_fst_c.cpp index 7b8c01dc9..a435e68dc 100644 --- a/include/verilated_fst_c.cpp +++ b/include/verilated_fst_c.cpp @@ -202,10 +202,6 @@ void VerilatedFst::declArray(vluint32_t code, const char* name, int dtypenum, fs fstVarType vartype, bool array, int arraynum, int msb, int lsb) { declare(code, name, dtypenum, vardir, vartype, array, arraynum, msb, lsb); } -void VerilatedFst::declFloat(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir, - fstVarType vartype, bool array, int arraynum) { - declare(code, name, dtypenum, vardir, vartype, array, arraynum, 31, 0); // LCOV_EXCL_LINE -} void VerilatedFst::declDouble(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir, fstVarType vartype, bool array, int arraynum) { declare(code, name, dtypenum, vardir, vartype, array, arraynum, 63, 0); @@ -264,11 +260,6 @@ void VerilatedFst::emitWData(vluint32_t code, const WData* newvalp, int bits) { fstWriterEmitValueChange(m_fst, m_symbolp[code], m_strbuf); } -VL_ATTR_ALWINLINE -void VerilatedFst::emitFloat(vluint32_t code, float newval) { - fstWriterEmitValueChange(m_fst, m_symbolp[code], &newval); // LCOV_EXCL_LINE -} - VL_ATTR_ALWINLINE void VerilatedFst::emitDouble(vluint32_t code, double newval) { fstWriterEmitValueChange(m_fst, m_symbolp[code], &newval); diff --git a/include/verilated_fst_c.h b/include/verilated_fst_c.h index 0eb0d3aef..9b935f763 100644 --- a/include/verilated_fst_c.h +++ b/include/verilated_fst_c.h @@ -77,7 +77,6 @@ protected: inline void emitIData(vluint32_t code, IData newval, int bits); inline void emitQData(vluint32_t code, QData newval, int bits); inline void emitWData(vluint32_t code, const WData* newvalp, int bits); - inline void emitFloat(vluint32_t code, float newval); inline void emitDouble(vluint32_t code, double newval); public: @@ -112,8 +111,6 @@ public: fstVarType vartype, bool array, int arraynum, int msb, int lsb); void declArray(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir, fstVarType vartype, bool array, int arraynum, int msb, int lsb); - void declFloat(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir, - fstVarType vartype, bool array, int arraynum); void declDouble(vluint32_t code, const char* name, int dtypenum, fstVarDir vardir, fstVarType vartype, bool array, int arraynum); }; diff --git a/include/verilated_save.cpp b/include/verilated_save.cpp index 38c56878d..f7a6e5bc4 100644 --- a/include/verilated_save.cpp +++ b/include/verilated_save.cpp @@ -196,11 +196,13 @@ void VerilatedSave::flush() VL_MT_UNSAFE_ONE { wp += got; } else if (VL_UNCOVERABLE(got < 0)) { if (VL_UNCOVERABLE(errno != EAGAIN && errno != EINTR)) { + // LCOV_EXCL_START // write failed, presume error (perhaps out of disk space) std::string msg = std::string(__FUNCTION__) + ": " + strerror(errno); VL_FATAL_MT("", 0, "", msg.c_str()); close(); break; + // LCOV_EXCL_END } } } @@ -225,11 +227,13 @@ void VerilatedRestore::fill() VL_MT_UNSAFE_ONE { m_endp += got; } else if (VL_UNCOVERABLE(got < 0)) { if (VL_UNCOVERABLE(errno != EAGAIN && errno != EINTR)) { + // LCOV_EXCL_START // write failed, presume error (perhaps out of disk space) std::string msg = std::string(__FUNCTION__) + ": " + strerror(errno); VL_FATAL_MT("", 0, "", msg.c_str()); close(); break; + // LCOV_EXCL_END } } else { // got==0, EOF // Fill buffer from here to end with NULLs so reader's don't diff --git a/include/verilated_trace.h b/include/verilated_trace.h index 0c2ca03f4..b1537be0a 100644 --- a/include/verilated_trace.h +++ b/include/verilated_trace.h @@ -282,7 +282,6 @@ public: // duck-typed void emitIData(vluint32_t code, IData newval, int bits) = 0; // duck-typed void emitQData(vluint32_t code, QData newval, int bits) = 0; // duck-typed void emitWData(vluint32_t code, const WData* newvalp, int bits) = 0; - // duck-typed void emitFloat(vluint32_t code, float newval) = 0; // duck-typed void emitDouble(vluint32_t code, double newval) = 0; vluint32_t* oldp(vluint32_t code) { return m_sigs_oldvalp + code; } @@ -294,7 +293,6 @@ public: void fullIData(vluint32_t* oldp, IData newval, int bits); void fullQData(vluint32_t* oldp, QData newval, int bits); void fullWData(vluint32_t* oldp, const WData* newvalp, int bits); - void fullFloat(vluint32_t* oldp, float newval); void fullDouble(vluint32_t* oldp, double newval); #ifdef VL_TRACE_THREADED @@ -340,14 +338,6 @@ public: for (int i = 0; i < (bits + 31) / 32; ++i) { *m_traceBufferWritep++ = newvalp[i]; } VL_DEBUG_IF(assert(m_traceBufferWritep <= m_traceBufferEndp);); } - inline void chgFloat(vluint32_t code, float newval) { - m_traceBufferWritep[0] = VerilatedTraceCommand::CHG_FLOAT; - m_traceBufferWritep[1] = code; - // cppcheck-suppress invalidPointerCast - *reinterpret_cast(m_traceBufferWritep + 2) = newval; - m_traceBufferWritep += 3; - VL_DEBUG_IF(assert(m_traceBufferWritep <= m_traceBufferEndp);); - } inline void chgDouble(vluint32_t code, double newval) { m_traceBufferWritep[0] = VerilatedTraceCommand::CHG_DOUBLE; m_traceBufferWritep[1] = code; @@ -395,10 +385,6 @@ public: } } } - inline void CHG(Float)(vluint32_t* oldp, float newval) { - // cppcheck-suppress invalidPointerCast - if (VL_UNLIKELY(*reinterpret_cast(oldp) != newval)) fullFloat(oldp, newval); - } inline void CHG(Double)(vluint32_t* oldp, double newval) { // cppcheck-suppress invalidPointerCast if (VL_UNLIKELY(*reinterpret_cast(oldp) != newval)) fullDouble(oldp, newval); diff --git a/include/verilated_trace_imp.cpp b/include/verilated_trace_imp.cpp index c9e8c426f..6ae07a7e6 100644 --- a/include/verilated_trace_imp.cpp +++ b/include/verilated_trace_imp.cpp @@ -171,11 +171,6 @@ template <> void VerilatedTrace::workerThreadMain() { chgWDataImpl(oldp, readp, top); readp += VL_WORDS_I(top); continue; - case VerilatedTraceCommand::CHG_FLOAT: - VL_TRACE_THREAD_DEBUG("Command CHG_FLOAT " << top); - chgFloatImpl(oldp, *reinterpret_cast(readp)); - readp += 1; - continue; case VerilatedTraceCommand::CHG_DOUBLE: VL_TRACE_THREAD_DEBUG("Command CHG_DOUBLE " << top); chgDoubleImpl(oldp, *reinterpret_cast(readp)); @@ -529,12 +524,6 @@ void VerilatedTrace::fullWData(vluint32_t* oldp, const WData* newv self()->emitWData(oldp - m_sigs_oldvalp, newvalp, bits); } -template <> void VerilatedTrace::fullFloat(vluint32_t* oldp, float newval) { - // cppcheck-suppress invalidPointerCast - *reinterpret_cast(oldp) = newval; - self()->emitFloat(oldp - m_sigs_oldvalp, newval); -} - template <> void VerilatedTrace::fullDouble(vluint32_t* oldp, double newval) { // cppcheck-suppress invalidPointerCast *reinterpret_cast(oldp) = newval; diff --git a/include/verilated_vcd_c.cpp b/include/verilated_vcd_c.cpp index 698b40e24..cc9b88941 100644 --- a/include/verilated_vcd_c.cpp +++ b/include/verilated_vcd_c.cpp @@ -360,11 +360,13 @@ void VerilatedVcd::bufferFlush() VL_MT_UNSAFE_ONE { m_wroteBytes += got; } else if (VL_UNCOVERABLE(got < 0)) { if (VL_UNCOVERABLE(errno != EAGAIN && errno != EINTR)) { + // LCOV_EXCL_START // write failed, presume error (perhaps out of disk space) std::string msg = std::string("VerilatedVcd::bufferFlush: ") + strerror(errno); VL_FATAL_MT("", 0, "", msg.c_str()); closeErr(); break; + // LCOV_EXCL_END } } } @@ -583,9 +585,6 @@ void VerilatedVcd::declArray(vluint32_t code, const char* name, bool array, int int lsb) { declare(code, name, "wire", array, arraynum, false, true, msb, lsb); } -void VerilatedVcd::declFloat(vluint32_t code, const char* name, bool array, int arraynum) { - declare(code, name, "real", array, arraynum, false, false, 31, 0); -} void VerilatedVcd::declDouble(vluint32_t code, const char* name, bool array, int arraynum) { declare(code, name, "real", array, arraynum, false, false, 63, 0); } @@ -699,15 +698,6 @@ void VerilatedVcd::emitWData(vluint32_t code, const WData* newvalp, int bits) { finishLine(code, wp); } -VL_ATTR_ALWINLINE -void VerilatedVcd::emitFloat(vluint32_t code, float newval) { - char* wp = m_writep; - // Buffer can't overflow before sprintf; we sized during declaration - sprintf(wp, "r%.16g", static_cast(newval)); - wp += strlen(wp); - finishLine(code, wp); -} - VL_ATTR_ALWINLINE void VerilatedVcd::emitDouble(vluint32_t code, double newval) { char* wp = m_writep; @@ -792,7 +782,7 @@ void VerilatedVcd::fullTriBus(vluint32_t code, const vluint32_t newval, const vl *m_writep++ = '\n'; bufferCheck(); } -void VerilatedVcd::fullTriQuad(vluint32_t code, const vluint64_t newval, const vluint32_t newtri, +void VerilatedVcd::fullTriQuad(vluint32_t code, const vluint64_t newval, const vluint64_t newtri, int bits) { (*(reinterpret_cast(oldp(code)))) = newval; (*(reinterpret_cast(oldp(code + 1)))) = newtri; @@ -834,33 +824,6 @@ void VerilatedVcd::fullDouble(vluint32_t code, const double newval) { *m_writep++ = '\n'; bufferCheck(); } -void VerilatedVcd::fullFloat(vluint32_t code, const float newval) { - // cppcheck-suppress invalidPointerCast - (*(reinterpret_cast(oldp(code)))) = newval; - // Buffer can't overflow before sprintf; we sized during declaration - sprintf(m_writep, "r%.16g", static_cast(newval)); - m_writep += strlen(m_writep); - *m_writep++ = ' '; - m_writep = writeCode(m_writep, code); - *m_writep++ = '\n'; - bufferCheck(); -} -void VerilatedVcd::fullBitX(vluint32_t code) { - *m_writep++ = 'x'; - m_writep = writeCode(m_writep, code); - *m_writep++ = '\n'; - bufferCheck(); -} -void VerilatedVcd::fullBusX(vluint32_t code, int bits) { - *m_writep++ = 'b'; - for (int bit = bits - 1; bit >= 0; --bit) *m_writep++ = 'x'; - *m_writep++ = ' '; - m_writep = writeCode(m_writep, code); - *m_writep++ = '\n'; - bufferCheck(); -} -void VerilatedVcd::fullQuadX(vluint32_t code, int bits) { fullBusX(code, bits); } -void VerilatedVcd::fullArrayX(vluint32_t code, int bits) { fullBusX(code, bits); } #endif // VL_TRACE_VCD_OLD_API @@ -880,6 +843,8 @@ vluint32_t v1, v2, s1, s2[3]; vluint32_t tri96[3]; vluint32_t tri96__tri[3]; vluint64_t quad96[2]; +vluint64_t tquad; +vluint64_t tquad__tri; vluint8_t ch; vluint64_t timestamp = 1; double doub = 0.0; @@ -904,9 +869,10 @@ void vcdInit(void*, VerilatedVcd* vcdp, vluint32_t) { /**/ // Note need to add 6 for next code. /**/ vcdp->declDouble(0x1c, "doub", -1, 0); /**/ // Note need to add 2 for next code. - /**/ vcdp->declFloat(0x1e, "flo", -1, 0); /**/ vcdp->declArray(0x20, "q2", -1, 0, 95, 0); /**/ // Note need to add 4 for next code. + /**/ vcdp->declTriQuad(0x24, "tq", -1, 0, 63, 0); + /**/ // Note need to add 4 for next code. } void vcdFull(void*, VerilatedVcd* vcdp) { @@ -919,8 +885,8 @@ void vcdFull(void*, VerilatedVcd* vcdp) { vcdp->fullTriBus(0x12, tri96[0] & 0x1f, tri96__tri[0] & 0x1f, 5); vcdp->fullTriArray(0x16, tri96, tri96__tri, 96); vcdp->fullDouble(0x1c, doub); - vcdp->fullFloat(0x1e, flo); vcdp->fullArray(0x20, &quad96[0], 96); + vcdp->fullTriQuad(0x24, tquad, tquad__tri, 64); } void vcdChange(void*, VerilatedVcd* vcdp) { @@ -933,8 +899,8 @@ void vcdChange(void*, VerilatedVcd* vcdp) { vcdp->chgTriBus(0x12, tri96[0] & 0x1f, tri96__tri[0] & 0x1f, 5); vcdp->chgTriArray(0x16, tri96, tri96__tri, 96); vcdp->chgDouble(0x1c, doub); - vcdp->chgFloat(0x1e, flo); vcdp->chgArray(0x20, &quad96[0], 96); + vcdp->chgTriQuad(0x24, tquad, tquad__tri, 64); } // clang-format off @@ -946,6 +912,7 @@ void vcdTestMain(const char* filenamep) { quad96[1] = quad96[0] = 0; ch = 0; doub = 0; + tquad = tquad__tri = 0; { VerilatedVcdC* vcdp = new VerilatedVcdC; vcdp->evcd(true); @@ -968,6 +935,8 @@ void vcdTestMain(const char* filenamep) { quad96[1] = 0; quad96[0] = ~0; doub = -1.66e13; flo = 0.123f; + tquad = VL_ULL(0x00ff00ff00ff00ff); + tquad__tri = VL_ULL(0x0000fffff0000ffff); vcdp->dump(++timestamp); ch = 2; tri96[2] = ~4; tri96[1] = ~2; tri96[0] = ~1; diff --git a/include/verilated_vcd_c.h b/include/verilated_vcd_c.h index 6c1b39e6d..5050b038d 100644 --- a/include/verilated_vcd_c.h +++ b/include/verilated_vcd_c.h @@ -130,7 +130,6 @@ protected: inline void emitIData(vluint32_t code, IData newval, int bits); inline void emitQData(vluint32_t code, QData newval, int bits); inline void emitWData(vluint32_t code, const WData* newvalp, int bits); - inline void emitFloat(vluint32_t code, float newval); inline void emitDouble(vluint32_t code, double newval); public: @@ -163,7 +162,6 @@ public: void declBus(vluint32_t code, const char* name, bool array, int arraynum, int msb, int lsb); void declQuad(vluint32_t code, const char* name, bool array, int arraynum, int msb, int lsb); void declArray(vluint32_t code, const char* name, bool array, int arraynum, int msb, int lsb); - void declFloat(vluint32_t code, const char* name, bool array, int arraynum); void declDouble(vluint32_t code, const char* name, bool array, int arraynum); #ifdef VL_TRACE_VCD_OLD_API @@ -195,7 +193,6 @@ public: void fullWData(vluint32_t* oldp, const WData* newvalp, int bits) { fullArray(oldp - this->oldp(0), newvalp, bits); } - void fullFloat(vluint32_t* oldp, float newval) { fullFloat(oldp - this->oldp(0), newval); } void fullDouble(vluint32_t* oldp, double newval) { fullDouble(oldp - this->oldp(0), newval); } inline void chgBit(vluint32_t* oldp, CData newval) { chgBit(oldp - this->oldp(0), newval); } @@ -214,9 +211,6 @@ public: inline void chgWData(vluint32_t* oldp, const WData* newvalp, int bits) { chgArray(oldp - this->oldp(0), newvalp, bits); } - inline void chgFloat(vluint32_t* oldp, float newval) { - chgFloat(oldp - this->oldp(0), newval); - } inline void chgDouble(vluint32_t* oldp, double newval) { chgDouble(oldp - this->oldp(0), newval); } @@ -230,20 +224,10 @@ public: void fullArray(vluint32_t code, const vluint64_t* newvalp, int bits); void fullTriBit(vluint32_t code, const vluint32_t newval, const vluint32_t newtri); void fullTriBus(vluint32_t code, const vluint32_t newval, const vluint32_t newtri, int bits); - void fullTriQuad(vluint32_t code, const vluint64_t newval, const vluint32_t newtri, int bits); + void fullTriQuad(vluint32_t code, const vluint64_t newval, const vluint64_t newtri, int bits); void fullTriArray(vluint32_t code, const vluint32_t* newvalp, const vluint32_t* newtrip, int bits); void fullDouble(vluint32_t code, const double newval); - void fullFloat(vluint32_t code, const float newval); - - /// Inside dumping routines, dump one signal as unknowns - /// Presently this code doesn't change the oldval vector. - /// Thus this is for special standalone applications that after calling - /// fullBitX, must when then value goes non-X call fullBit. - void fullBitX(vluint32_t code); - void fullBusX(vluint32_t code, int bits); - void fullQuadX(vluint32_t code, int bits); - void fullArrayX(vluint32_t code, int bits); /// Inside dumping routines, dump one signal if it has changed. /// We do want to inline these to avoid calls when the value did not change. @@ -303,7 +287,7 @@ public: } } } - inline void chgTriQuad(vluint32_t code, const vluint64_t newval, const vluint32_t newtri, + inline void chgTriQuad(vluint32_t code, const vluint64_t newval, const vluint64_t newtri, int bits) { vluint64_t diff = (((*(reinterpret_cast(oldp(code)))) ^ newval) | ((*(reinterpret_cast(oldp(code + 1)))) ^ newtri)); @@ -329,12 +313,6 @@ public: fullDouble(code, newval); } } - inline void chgFloat(vluint32_t code, const float newval) { - // cppcheck-suppress invalidPointerCast - if (VL_UNLIKELY((*(reinterpret_cast(oldp(code)))) != newval)) { - fullFloat(code, newval); - } - } // METHODS // Old/standalone API only