If a firrtl.module is targeted by a firrtl.simulation op, IMDCE should not delete ports on the module, since those are checked by the verifier of firrtl.simulation. The workaround is to mark the module as public, but I'm not sure we'd want to enforce that. A pass modifying the IR in a way that breaks a verifier seems wrong.
If a
firrtl.moduleis targeted by afirrtl.simulationop, IMDCE should not delete ports on the module, since those are checked by the verifier offirrtl.simulation. The workaround is to mark the module as public, but I'm not sure we'd want to enforce that. A pass modifying the IR in a way that breaks a verifier seems wrong.