Skip to content

Commit

Permalink
[FIRRTL] Inliner: Support for ops with regions.
Browse files Browse the repository at this point in the history
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
dtzSiFive committed Sep 26, 2024
1 parent fee3dec commit a645ea6
Show file tree
Hide file tree
Showing 3 changed files with 420 additions and 75 deletions.
Loading

0 comments on commit a645ea6

Please sign in to comment.