Skip to content

Refactor Combinational Reads to Be Their Own Command #47

@dzagieboylo

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

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