"Reduce port resize to warning" changed the resize message from
log_warning() to log(), which -q suppresses. Run the resize case without
-q and drop the stale "Warning: " prefix so the message is observed.
Co-authored-by: Cursor <cursoragent@cursor.com>
Address review feedback on the fixpoint loop:
- Scope the per-sweep cleanup to the module under rewrite via
Pass::call_on_module(..., "clean -purge") instead of running clean over
the whole design selection. This avoids O(N^2) work across modules and
keeps untouched modules' dangling cells until their own sweep, matching
the original single-call behavior.
- Emit a log_warning if a module fails to reach a fixpoint within
max_sweeps, so silent truncation of compaction is visible.
Co-authored-by: Cursor <cursoragent@cursor.com>
Address review feedback on the large-memory fix:
- comment explaining the 64-bit promotion and the remaining int limits
- log_error if the per-word width or word count would overflow RTLIL's
int memory->width / memory->size fields, instead of silently truncating
Co-authored-by: Cursor <cursoragent@cursor.com>
- add option to test release flow without pushing to main
- add cmake to musllinux
- upgrade manylinux to rh-devtoolset-11
- add llvm to macos
- made CMake no longer error on unused parameters because we have some functions that are different from upstream but we'd like to keep the same signature
- pack_lanes: assert elem_w < 32 and pack the full element width instead
of silently dropping bits >= 31.
- Remove the dead `cell` struct member and its unused assignment in run()
(every emit helper shadows it with its own local `cell`).
- Decorrelate the pseudo-random bc bits from en (independent mix) so they
no longer share an LFSR bit (e.g. en[7]/bc[0] for n=8).
- Add purpose comments to fingerprint_dsel and lane_of_bit.
Declined the std::stoi/std::stoll arg-parsing suggestion: it matches the
established convention in sibling passes (opt_argmax, opt_priority_onehot).
Co-authored-by: Cursor <cursoragent@cursor.com>
Tiny nit, but the description of `RTLIL::Wire` was using MSB and LSB to refer to the least and most significant *bits* of a wire and not Bytes, which should be referred to using LSb and MSb instead