llvm / llvm/circt

[FIRRTL][Inliner] Simplify to only support "new-format" NLA's

Open
#5,801 0 comments 0 reactions 0 assignees View on GitHub
FIRRTL
Dominant language
C++
Stars
2.2k
Forks
524
Avg merge
3d 2h
Merged PRs (30d)
46

Description

We've moved away from NLA's hierpath's terminating in inner refs, in favor of only describing the instance path ( 5eaf8d8ac41e6a97460ea85dff053c187088575a ) (ending in the module).

Inliner still has logic for managing/updating NLA's that include these references, as well as logic for determining which paths are "module only" ( 9be1e8cd3f4427afa617e60cb858dd12d22f51e8 ).

Move to make this the only supported format, and simplify code accordingly.

cc https://github.com/llvm/circt/pull/5776#issuecomment-1668692950 .

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the Inliner logic that manages or updates NLAs, then review the referenced commits describing the new-format hierarchy paths and module-only checks. Identify the branches supporting paths that terminate in inner references and remove or simplify that handling. Done means the Inliner supports only NLAs whose paths describe the instance path and end at the module.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.