Support weak until / until_with property operators (#7290) (#7548) (#7685)

Fixes #7290. Fixes #7685.
This commit is contained in:
Yilou Wang
2026-06-01 14:50:13 -04:00
committed by GitHub
parent e965fb92de
commit 39b9901032
8 changed files with 227 additions and 36 deletions
+6
View File
@@ -1715,6 +1715,12 @@ class WidthVisitor final : public VNVisitor {
if (m_vup->prelim()) {
iterateCheckBool(nodep, "LHS", nodep->lhsp(), BOTH);
iterateCheckBool(nodep, "RHS", nodep->rhsp(), BOTH);
// Coerce unsized constant operands (e.g. literal 0/1) to actual
// 1-bit width; iterateCheckBool keeps widthMin-fitting unsized
// constants at their nominal 32-bit width, which trips the
// downstream NFA lowering's Log* chains in V3AssertNfa.
if (nodep->lhsp()->width() != 1) fixWidthReduce(nodep->lhsp());
if (nodep->rhsp()->width() != 1) fixWidthReduce(nodep->rhsp());
nodep->dtypeSetBit();
}
}