Skip to content

[hls-fuzzer] Migrate remaining check* methods to transfer API#893

Merged
zero9178 merged 3 commits intomainfrom
users/zero9179/remaining-context-ordering
May 7, 2026
Merged

[hls-fuzzer] Migrate remaining check* methods to transfer API#893
zero9178 merged 3 commits intomainfrom
users/zero9179/remaining-context-ordering

Conversation

@zero9178
Copy link
Copy Markdown
Collaborator

@zero9178 zero9178 commented May 5, 2026

This PR migrates the remaining check* methods to the new transfer API and removes all related documentation.

Most check methods can easily be adapted to discard methods with only some simple logic implemented in transfer functions. Notably, the scheme for terminals remain where optionals with replacements are returned instead.

This PR migrates the remaining `check*` methods to the new transfer API and removes all related documentation.

Most check methods can easily be adapted to discard methods with only some simple logic implemented in transfer functions.
Notably, the scheme for terminals remain where optionals with replacements are returned instead.
@zero9178 zero9178 requested a review from Jiahui17 May 5, 2026 12:57
Comment thread tools/hls-fuzzer/targets/DynamaticTypeSystem.h Outdated
Comment thread tools/hls-fuzzer/AST.h
} // namespace dynamatic

// Enable 'dyn_cast' and friends on 'ScalarType' by delegating to 'dyn_cast' on
// the variant.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So we don’t need to use std::get_if?

Give an example?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. The std::variant is a complete implementation detail of ScalarType.

@Jiahui17
Copy link
Copy Markdown
Member

Jiahui17 commented May 6, 2026

who does the job of "typesystemtraits" now?

@zero9178
Copy link
Copy Markdown
Collaborator Author

zero9178 commented May 7, 2026

who does the job of "typesystemtraits" now?

All information that the generator needs is now specified via the SubElements member of the respective ASTNodes. As we discussed here #874 (comment), I felt it was appropiate to move it to the respective ASTNodes since "what are the sub elements of an AST node" is more of a responsibility/question/definition of the AST node rather than something that the type system augments on top of AST nodes

@zero9178 zero9178 requested a review from Jiahui17 May 7, 2026 08:57
@zero9178 zero9178 merged commit 208b60b into main May 7, 2026
8 checks passed
@Jiahui17
Copy link
Copy Markdown
Member

Jiahui17 commented May 7, 2026

Btw maybe we rename basic c generator to just c generator: basic implies either this is a base class or there are more advanced generators…

@zero9178 zero9178 deleted the users/zero9179/remaining-context-ordering branch May 7, 2026 12:50
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