diff --git a/src/V3Depth.cpp b/src/V3Depth.cpp index d83d69d66..0c3b791e3 100644 --- a/src/V3Depth.cpp +++ b/src/V3Depth.cpp @@ -68,10 +68,7 @@ private: // Put assignment before the referencing statement AstAssign* const assp = new AstAssign{ nodep->fileline(), new AstVarRef{nodep->fileline(), varp, VAccess::WRITE}, nodep}; - VNRelinker linker2; - m_stmtp->unlinkFrBack(&linker2); - assp->addNext(m_stmtp); - linker2.relink(assp); + m_stmtp->addHereThisAsNext(assp); } // VISITORS diff --git a/src/V3Expand.cpp b/src/V3Expand.cpp index a89d893b6..5c341db26 100644 --- a/src/V3Expand.cpp +++ b/src/V3Expand.cpp @@ -82,10 +82,7 @@ private: static void insertBefore(AstNode* placep, AstNode* newp) { newp->user1(1); // Already processed, don't need to re-iterate - VNRelinker linker; - placep->unlinkFrBack(&linker); - newp->addNext(placep); - linker.relink(newp); + placep->addHereThisAsNext(newp); } static void replaceWithDelete(AstNode* nodep, AstNode* newp) { newp->user1(1); // Already processed, don't need to re-iterate diff --git a/src/V3Premit.cpp b/src/V3Premit.cpp index 836b7c814..50254b1ca 100644 --- a/src/V3Premit.cpp +++ b/src/V3Premit.cpp @@ -109,10 +109,7 @@ private: } else if (m_inTracep) { m_inTracep->addPrecondsp(newp); } else if (m_stmtp) { - VNRelinker linker; - m_stmtp->unlinkFrBack(&linker); - newp->addNext(m_stmtp); - linker.relink(newp); + m_stmtp->addHereThisAsNext(newp); } else { newp->v3fatalSrc("No statement insertion point."); }