Files
verilator/src
Geza Lore 1c0af6c7bc Reduce peak memory use of V3Subst (#4687)
V3Subst is currently the pass responsible for peak memory usage. This
patch saves ~16% of peak memory on OpenTitan.

2 changes:
- It is actually safe to delete the substituted expressions immediately,
  but this is the lesser contribution
- More importantly, we only ever substitute STMTTEMP variables, which
  are always defined within the same CFunc, so we can limit the scope of
  the optimization to CFunc. This allows us to reclaim the SubstVarEntry
  structures at the end of every CFunc, rather than at the end of the
  whole pass, which gives us most of the memory savings.

Generated output is identical
2023-11-12 16:01:07 +00:00
..
2023-01-01 10:18:39 -05:00
2023-01-01 10:18:39 -05:00
2023-11-08 06:27:56 -05:00
2023-07-27 09:44:05 +00:00
2023-01-01 10:18:39 -05:00
2023-01-01 10:18:39 -05:00
2023-01-01 10:18:39 -05:00
2023-10-19 19:26:36 -04:00
2023-10-19 19:26:36 -04:00
2023-10-26 16:38:47 +02:00
2023-10-21 20:41:46 +01:00
2023-03-18 09:48:26 -04:00
2023-11-10 23:25:53 -05:00
2023-10-28 13:41:43 +01:00
2023-10-29 01:12:27 +01:00
2023-11-06 07:13:31 -05:00
2023-11-10 23:25:53 -05:00
2023-11-10 23:25:53 -05:00
2023-11-10 23:25:53 -05:00
2023-10-28 13:41:43 +01:00
2023-10-24 15:51:46 +02:00
2023-10-26 16:38:47 +02:00
2023-11-02 20:25:44 +00:00
2023-11-02 20:25:44 +00:00
2023-10-26 16:38:47 +02:00
2023-10-28 13:41:43 +01:00
2023-11-10 23:25:53 -05:00
2023-01-26 06:35:59 -05:00
2023-11-12 15:29:25 +00:00
2023-10-28 13:41:43 +01:00
2023-10-26 16:38:47 +02:00
2023-01-01 10:18:39 -05:00
2023-01-01 10:18:39 -05:00
2023-01-01 10:18:39 -05:00
2023-10-28 13:41:43 +01:00
2023-10-29 01:12:27 +01:00
2023-10-29 01:12:27 +01:00
2023-10-29 01:12:27 +01:00
2023-01-01 10:18:39 -05:00
2023-01-01 10:18:39 -05:00
2023-10-28 13:41:43 +01:00
2023-01-01 10:18:39 -05:00
2023-11-10 23:25:53 -05:00
2023-11-10 23:25:53 -05:00
2023-10-19 19:26:36 -04:00
2023-05-27 09:43:23 -04:00
2023-10-29 01:12:27 +01:00
2023-10-28 13:41:43 +01:00
2023-10-18 02:50:27 +00:00
2023-10-18 02:50:27 +00:00
2023-01-01 15:31:29 +00:00
2023-11-10 23:25:53 -05:00
2023-10-28 11:26:48 +01:00
2023-01-01 10:18:39 -05:00
2023-10-28 13:41:43 +01:00
2023-01-01 10:18:39 -05:00
2023-11-10 23:25:53 -05:00
2023-10-28 13:41:43 +01:00
2023-11-10 23:25:53 -05:00
2023-11-10 23:25:53 -05:00
2023-11-10 23:25:53 -05:00
2023-10-29 01:12:27 +01:00
2023-10-28 13:41:43 +01:00
2023-10-28 11:26:48 +01:00
2023-11-10 23:25:53 -05:00
2023-01-01 10:18:39 -05:00
2023-10-28 13:41:43 +01:00
2023-10-28 13:41:43 +01:00
2023-01-01 10:18:39 -05:00