Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[FIRRTL] Inliner: Support for ops with regions. (#7398)
inlineInstances/flattenInstances: * Walk entire body, not only top-level operations. Fixes missing instances and allows inlining them when conservatively legal. * Reject inlining instances under when/match. inlineInto/flattenInto: Walk entire body using new `inliningWalk` method that drives the per-operations handling but also handles cloning "structure" operations that have regions (when/match/layer) and managing what should be cloned where. This allows inlining modules that contain these operations. Inliner now may produce errors, thread throughout. This allows the inliner to run earlier in the pipeline, particularly before LowerLayers.
- Loading branch information