Skip to content

Commit

Permalink
[FIRRTL] Support alternative base paths in LowerClasses. (llvm#6817)
Browse files Browse the repository at this point in the history
* [FIRRTL] Support alternative base paths in LowerClasses.

We previously had a constraint that paths are targeting entities in
the same owning module as the path. This allowed us to assume that a
single base path can be created for each owning module, and used in
all paths. However, we have transforms that extract entities targeted
by paths outside the paths' owning module.

To support this, we can instead plumb through base paths created
higher up in the instance graph down to the paths that need them. When
a path is detected outside the owning module, we find the module in
which the entity is instantiated and pass through its base path to the
paths that reference the entity.

Most of the work here is just plumbing, and the PathInfoTable has been
extended with new data structures and functions to support this.
  • Loading branch information
mikeurbach authored Mar 13, 2024
1 parent fea328a commit fed17ee
Show file tree
Hide file tree
Showing 2 changed files with 262 additions and 31 deletions.
Loading

0 comments on commit fed17ee

Please sign in to comment.