-
Notifications
You must be signed in to change notification settings - Fork 305
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
[Calyx] Passing memories by reference #7164
Conversation
Nice! A few small comments and request for tests. |
d581ee4
to
a9c7367
Compare
bc067c6
to
5b11808
Compare
5b11808
to
9af7966
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! A few smaller coding-related comments.
9af7966
to
ad89e27
Compare
…l memoryOp inside the component
…and pass scf to calyx convert memory tests
…tance with both memref and non-memref arguments
…ss memory by reference
…t alloc into the new top-level marking it external and mark the old top-level alloc-memories non-external/reference; reason being the calyx compiler requires external memories only exist in the top-level
because we will erase all `alloc` ops in the original top-level function, and build new `alloc` ops in the new top-level function to pass them through `call`. Also reimplement the logic used for identifying the corresponding reference memory cell in the callee when building `invokeOp`.
…e order of insertion point so that the number of the reference and the external memory align in the invoke
…lyx yxi requires to do so
ad89e27
to
1a33416
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few smaller comments! Let me know if I'm misunderstanding something.
This patch addresses #4831 .
If the
main
FuncOp
hasmemref
s in its arguments, we create a newmain
component and make it the new entry point.