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

Unused port removal #1200

Open
2 tasks
rachitnigam opened this issue Oct 5, 2022 · 3 comments
Open
2 tasks

Unused port removal #1200

rachitnigam opened this issue Oct 5, 2022 · 3 comments
Assignees
Labels
C: calyx-opt Optimization or analysis pass good first issue Good issue to start contributing on Calyx Status: Available Can be worked upon

Comments

@rachitnigam
Copy link
Contributor

Add a pass that eliminates unused ports of a component. In doing this, we also get rid of any assignments to those ports and allow the various dead-cell elimination passes to work better.

TODO

  • Add a new attribute called @internal or something to state that a component's signature does not need to be maintained to the outside world.
  • Implement the pass to remove the unused ports
@rachitnigam rachitnigam added C: Calyx Extension or change to the Calyx IL Status: Available Can be worked upon labels Oct 5, 2022
@sampsyo
Copy link
Contributor

sampsyo commented Oct 12, 2022

Super dumb question: is this a whole-program analysis? That is, does it need to make a closed-world assumption—that we know all the instantiations of every component, so we can tell that a given port is never used via any of them?

@rachitnigam
Copy link
Contributor Author

Yup, definitely a whole program analysis

@sampsyo
Copy link
Contributor

sampsyo commented Oct 12, 2022

Awesome; thanks for clarifying.

@rachitnigam rachitnigam added this to the Quality of Results milestone Mar 6, 2023
@rachitnigam rachitnigam added the good first issue Good issue to start contributing on Calyx label Mar 6, 2023
@rachitnigam rachitnigam added C: calyx-opt Optimization or analysis pass and removed C: Calyx Extension or change to the Calyx IL labels Dec 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: calyx-opt Optimization or analysis pass good first issue Good issue to start contributing on Calyx Status: Available Can be worked upon
Projects
None yet
Development

No branches or pull requests

3 participants