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 ChiselAnnotation #2819

Open
wants to merge 6 commits into
base: dev/seldridge/deprecate-enumannotations
Choose a base branch
from

Conversation

seldridge
Copy link
Member

Deprecate ChiselAnnotation as custom FIRRTL annotations are not supported as part of the migration to the MILR-based FIRRTL Compiler.

Add a deprecation string that can be used for marking things that are
deprecated due to the MLIR-based FIRRTL Compiler (MFC) migration.  Do
not use this anywhere (yet).

Signed-off-by: Schuyler Eldridge <[email protected]>
Signed-off-by: Schuyler Eldridge <[email protected]>
Deprecate all EnumAnnotations as these are not supported by the
MLIR-based FIRRTL Compiler.  These will reappear as enumerated types in
FIRRTL in the future.

Signed-off-by: Schuyler Eldridge <[email protected]>
@seldridge seldridge requested a review from jackkoenig October 31, 2022 03:42
Deprecate ChiselAnnotation as custom annotations will not be supported
as part of the migration to the MLIR-based FIRRTL Compiler.

Signed-off-by: Schuyler Eldridge <[email protected]>
@seldridge seldridge force-pushed the dev/seldridge/deprecate-ChiselAnnotation branch from 9f3b30f to 33e84d6 Compare October 31, 2022 03:49
Remove usages of ChiselAnnotation from documentation (since this is now
deprecated).

Signed-off-by: Schuyler Eldridge <[email protected]>
@mwachs5
Copy link
Contributor

mwachs5 commented Nov 3, 2022

I see people using ChiselAnnotation as a quick-and-dirty at-end-of-elaboration callback since you can do arbitrary things in the toFirrtl conversion. Should we provide a better API for that?

@seldridge
Copy link
Member Author

I see people using ChiselAnnotation as a quick-and-dirty at-end-of-elaboration callback since you can do arbitrary things in the toFirrtl conversion. Should we provide a better API for that?

Yeah, people shouldn't be using it this way (I am speaking to myself when I say this... 😂 ). Maybe a post-elaboration hook. An alternative is to have a custom phase / mandatory phase with this hook that can do this. However, I've soured on the stage/phase infra and think we can move towards fixed pipelines once the SFC is out of the picture.

Also, I'm less confident about actually deprecating ChiselAnnotation. We could keep this around in a controlled way with MFC. Discussion begins here: #2804 (comment)

@seldridge seldridge force-pushed the dev/seldridge/deprecate-enumannotations branch from c001f5f to d8dcfc7 Compare December 20, 2022 21:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants