mirror of
https://github.com/verilator/verilator.git
synced 2026-09-06 08:57:23 +02:00
Internals: Optimize updates of Vtogcov signals. No functional change intended. (#6110)
This commit is contained in:
+3
-1
@@ -100,11 +100,13 @@ class ClockVisitor final : public VNVisitor {
|
||||
// UINFOTREE(1, nodep, "", "ct");
|
||||
// COVERTOGGLE(INC, ORIG, CHANGE) ->
|
||||
// IF(ORIG ^ CHANGE) { INC; CHANGE = ORIG; }
|
||||
AstNode* const incp = nodep->incp()->unlinkFrBack();
|
||||
AstCoverInc* const incp = nodep->incp()->unlinkFrBack();
|
||||
AstNodeExpr* const origp = nodep->origp()->unlinkFrBack();
|
||||
AstNodeExpr* const changeWrp = nodep->changep()->unlinkFrBack();
|
||||
AstNodeExpr* const changeRdp = ConvertWriteRefsToRead::main(changeWrp->cloneTree(false));
|
||||
AstNodeExpr* comparedp = nullptr;
|
||||
incp->toggleExprp(origp->cloneTree(false));
|
||||
incp->toggleCovExprp(changeRdp->cloneTree(false));
|
||||
// Xor will optimize better than Eq, when CoverToggle has bit selects,
|
||||
// but can only use Xor with non-opaque types
|
||||
if (const AstBasicDType* const bdtypep
|
||||
|
||||
Reference in New Issue
Block a user