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.
This commit is contained in:
Arkadiusz Kozdra 2024-03-08 14:17:41 +01:00 committed by GitHub
parent 11bfe7a7bb
commit f78783e187
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 2 additions and 2 deletions

View File

@ -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) {

View File

@ -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;
}