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

brillig: Use register liveness to deallocate registers #1720

Closed
ludamad opened this issue Jun 16, 2023 · 0 comments · Fixed by #2715
Closed

brillig: Use register liveness to deallocate registers #1720

ludamad opened this issue Jun 16, 2023 · 0 comments · Fixed by #2715
Assignees
Labels
enhancement New feature or request optimization
Milestone

Comments

@ludamad
Copy link
Collaborator

ludamad commented Jun 16, 2023

Problem

Current brillig gen strategy uses a pattern of register allocation that does not reuse registers as values go out of scope/livenesss. We should use a deallocate_register method and a free list to deallocate registers when no longer used for a certain value, and reuse them in an allocate_register method.

Happy Case

Registers are tightly reused the moment it's valid to do so.

Alternatives Considered

No response

Additional Context

No response

Would you like to submit a PR for this Issue?

No

Support Needs

No response

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request optimization
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants