circt
circt copied to clipboard
[firtool] Run canonicalization before LowerLayers
Run canonicalization before LowerLayers in order to optimize things which are difficult to do after layerblocks have been converted to modules. The conversion to modules means that many trivial canonicalizers are now very difficult to do as they require inter-module analysis.
Ideally, it would be best if LowerLayers ran as late as possible. (Generally any outlining should run as late as possible.) However, we aren't quite ready to make this harder move of pushing LowerLayers to the end of the FIRRTL pipeline.
Fixes #7533.