From f78783e187e13177233a27cd49ad13216ae29477 Mon Sep 17 00:00:00 2001 From: Arkadiusz Kozdra Date: Fri, 8 Mar 2024 14:17:41 +0100 Subject: [PATCH] Internals: Use LogOr/LogAnd on inside operator expansion (#4951) This will help introducing constrained randomization, as SMT solvers treat booleans and 1-bit vectors as incompatible types. --- src/V3AstNodes.cpp | 2 +- src/V3Width.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/V3AstNodes.cpp b/src/V3AstNodes.cpp index 8e0df4bf9..1a4cf75ea 100644 --- a/src/V3AstNodes.cpp +++ b/src/V3AstNodes.cpp @@ -319,7 +319,7 @@ AstNodeExpr* AstInsideRange::newAndFromInside(AstNodeExpr* exprp, AstNodeExpr* l AstNodeExpr* const bp = new AstLte{fileline(), exprp->cloneTreePure(true), rhsp}; ap->fileline()->modifyWarnOff(V3ErrorCode::UNSIGNED, true); bp->fileline()->modifyWarnOff(V3ErrorCode::CMPCONST, true); - return new AstAnd{fileline(), ap, bp}; + return new AstLogAnd{fileline(), ap, bp}; } AstConst* AstConst::parseParamLiteral(FileLine* fl, const string& literal) { diff --git a/src/V3Width.cpp b/src/V3Width.cpp index 1c7e0cb0b..696b881a3 100644 --- a/src/V3Width.cpp +++ b/src/V3Width.cpp @@ -2572,7 +2572,7 @@ class WidthVisitor final : public VNVisitor { itemp->unlinkFrBack()); } if (newp) { - newp = new AstOr{nodep->fileline(), newp, inewp}; + newp = new AstLogOr{nodep->fileline(), newp, inewp}; } else { newp = inewp; }