llvm / llvm/circt

[FIRRTL] Add back owning module constraint for local targets after removing use of ExtractInstances

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

Description

In https://github.com/llvm/circt/pull/6811, we relaxed the owning module constraint for local targets. This should be safe, but is generally not something we want to do.

The problem is we have local targets to instances that have been extracted beyond the owning module boundary intentionally by ExtractInstances, but we still want to target them within the component they were originally a part of.

The change allows us to target them, and is safe, since it still requires a single instantiation site, but this extraction doesn't play well with the encapsulation of a component in general. Once we get off that approach, we should revert the above PR to restore the original constraint.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading pull request 6811 and the ExtractInstances discussion to understand why the owning-module constraint was relaxed for local targets. Identify the constraint and its original behavior, then determine whether the extraction approach has been removed. Done means restoring the original constraint without breaking intentional local targets.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
compilers
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.