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

Refactor Combinational Reads to Be Their Own Command #47

Open
dz333 opened this issue Sep 20, 2021 · 0 comments
Open

Refactor Combinational Reads to Be Their Own Command #47

dz333 opened this issue Sep 20, 2021 · 0 comments
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@dz333
Copy link
Collaborator

dz333 commented Sep 20, 2021

Right now, the only "memory access" that stays all the way through the compiler from parser to code generation is the EMemAccess AST for combinational reads.

That means the code generation code is kind of specialized for this; it is the only memory access operation that can occur inside an Expr instead of being its own Command.

For instance, EMemAccesses that correspond to sequential writes are transformed into their own IMemWrite Commands;
we might as well do this for reads to. The transformation should be added in the ConvertAsyncPass. We just need to be sure that the reads don't occur as subexpressions (e.g. x = rf[a] + 1); if they do we need to turn it into sequential composition.

This shouldn't change any functionality, just makes the code generation and backend code much more uniform (e.g., it no longer contains any EMemAccess nodes).

@dz333 dz333 added enhancement New feature or request good first issue Good for newcomers labels Sep 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant