I've been seeing a lot of really ineffective firrtl-module-externalizer reductions when running circt-reduce on circuits involving FIRRTL domains. I think I know what is going on, but I haven't fully verified this.
When there is domain information in a circuit, a module cannot be trivially converted to an external module as it must provide domain associations for all external module ports.
The simplest fix here would be to change the reduction to blindly add one input domain port for each domain kind and associate all ports to those domains.
I've been seeing a lot of really ineffective
firrtl-module-externalizerreductions when runningcirct-reduceon circuits involving FIRRTL domains. I think I know what is going on, but I haven't fully verified this.When there is domain information in a circuit, a module cannot be trivially converted to an external module as it must provide domain associations for all external module ports.
The simplest fix here would be to change the reduction to blindly add one input domain port for each domain kind and associate all ports to those domains.