Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIRRTL] Inliner: Support for ops with regions. #7398

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Commits on Jul 29, 2024

  1. [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.
    dtzSiFive committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    f6e254b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bde4780 View commit details
    Browse the repository at this point in the history
  3. [FIRRTL][Inliner] Check parents in "into" methods too.

    Pull this into helper method, add error test.
    dtzSiFive committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    8d28e82 View commit details
    Browse the repository at this point in the history
  4. Inliner: include op name for clarity.

    This especially helps when the location points to a construct
    we've lowered to something else (e.g., layerblock -> sv.ifdef).
    dtzSiFive committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    5d819f4 View commit details
    Browse the repository at this point in the history