Skip to content

Refactor Combinational Reads to Be Their Own Command #47

Description

@dzagieboylo

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions