Skip to content

Commit f6e254b

Browse files
committed
[FIRRTL] Inliner: Support for ops with regions.
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.
1 parent 759ef12 commit f6e254b

File tree

3 files changed

+391
-71
lines changed

3 files changed

+391
-71
lines changed

0 commit comments

Comments
 (0)