mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 10:03:44 +02:00
Improve V3Premit performance etc. (#4736)
- Enable creating constant pool entries for RHS of simple var = const assignments - Never extract ArraySel (it's just pointer arithmetic) - Remove unnecessary AstTraceInc precond child tree - Always fully recurse expressions (fix transplanted from #4617) - General cleanup Overall the patch is performance neutral to slightly positive, but saves ~10% peak Verialtor memory usage due to not creating temporaries (which are later expanded) for any ArraySels.
This commit is contained in:
@@ -740,7 +740,6 @@ class EmitCTrace final : EmitCFunc {
|
||||
}
|
||||
|
||||
void emitTraceChangeOne(AstTraceInc* nodep, int arrayindex) {
|
||||
iterateAndNextConstNull(nodep->precondsp());
|
||||
// Note: Both VTraceType::CHANGE and VTraceType::FULL use the 'full' methods
|
||||
const std::string func = nodep->traceType() == VTraceType::CHANGE ? "chg" : "full";
|
||||
bool emitWidth = true;
|
||||
|
||||
Reference in New Issue
Block a user