The private IdStrings renamed to start with $, as this is convention used in Yosys (see: verific frontend, ID() macro).
IdStrings are initialized all at once on plugin registration and removed after the design is parsed. This is required because, for some reason, Yosys can generate slightly different output depending on how much extra IdStrings are there.
Memory leaks that would cause some IdStrings to remain undeleted after the plugin does its job. As IdString references are counted in Yosys, it's essential not to leak the objects created by the plugin.
CI run: https://github.com/antmicro/yosys-systemverilog/actions/runs/4563494012 https://github.com/antmicro/yosys-systemverilog/actions/runs/4552911545
These changes are rebased on the top of https://github.com/chipsalliance/yosys-f4pga-plugins/pull/463 as we are aiming to merge these at once.
Co-authored with @mglb.
Changes: