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

Deprecate direct access to component's go/done interface #305

Closed
3 tasks
rachitnigam opened this issue Dec 10, 2020 · 2 comments
Closed
3 tasks

Deprecate direct access to component's go/done interface #305

rachitnigam opened this issue Dec 10, 2020 · 2 comments
Assignees
Labels
C: Calyx Extension or change to the Calyx IL

Comments

@rachitnigam
Copy link
Contributor

rachitnigam commented Dec 10, 2020

Once #300 is merged, the default way to call a component will be the invoke statement. Once that is the case, we can change the ir::Builder so that it doesn't automatically add go/done ports to components (and move that functionality to component-interface pass).

Few things that rely on this interface:

@cgyurgyik cgyurgyik self-assigned this Dec 12, 2020
@rachitnigam rachitnigam added C: Calyx Extension or change to the Calyx IL S: Available Can be worked upon labels Dec 26, 2020
@rachitnigam rachitnigam added S: Blocked Issue is blocked and removed S: Available Can be worked upon labels Jan 26, 2021
@rachitnigam
Copy link
Contributor Author

Actually, I think the stuff above is irrelevant to deprecating accessing to the component go/done signal usage. Once #712 is merged, any group computation performed by a group using the a component's go/done interface can be rewritten using invoke-with.

I don't think there is any harm in keeping access to primitive's go/done ports either. Maybe we should remove this issue in lieu of having explicit go/done ports on all components.

@rachitnigam rachitnigam added S: Discussion needed Issues blocked on discussion and removed S: Blocked Issue is blocked labels Oct 7, 2021
@sampsyo
Copy link
Contributor

sampsyo commented Oct 7, 2021

Without thinking about it too hard, I'm inclined to agree? (That is, that there is no harm in keeping explicit access around & possible, especially if we require all components to have such ports.) It seems like this explicit access would nicely provide a "compile target" for invoke if I'm not mistaken, right?

@rachitnigam rachitnigam removed the S: Discussion needed Issues blocked on discussion label Oct 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: Calyx Extension or change to the Calyx IL
Projects
None yet
Development

No branches or pull requests

3 participants