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

JuvixReg recursors #2641

Merged
merged 4 commits into from
Feb 19, 2024
Merged

JuvixReg recursors #2641

merged 4 commits into from
Feb 19, 2024

Conversation

lukaszcz
Copy link
Collaborator

@lukaszcz lukaszcz commented Feb 9, 2024

  • Implements JuvixReg recursors, which will allow to implement JuvixReg transformations more succinctly and effectively.
  • Adds a transformation framework to JuvixReg.
  • Adds identity transformation tests.
  • Depends on JuvixReg interpreter #2635

@lukaszcz lukaszcz added this to the 0.6.0 milestone Feb 9, 2024
@lukaszcz lukaszcz self-assigned this Feb 9, 2024
@lukaszcz lukaszcz marked this pull request as ready for review February 15, 2024 10:05
@paulcadman paulcadman merged commit 86e8458 into main Feb 19, 2024
4 checks passed
@paulcadman paulcadman deleted the reg-recursors branch February 19, 2024 08:58
lukaszcz added a commit that referenced this pull request Feb 20, 2024
* Closes #2560 
* Adds a transformation of JuvixReg into SSA form.
* Adds an "output variable" field to branching instructions (`Case`,
`Branch`) which indicates the output variable to which the result is
assigned in both branches. The output variable corresponds to top of
stack in JuvixAsm after executing the branches. In the SSA
transformation, differently renamed output variables are unified by
inserting assignment instructions at the end of branches.
* Adds tests for the SSA transformation.
* Depends on #2641.
janmasrovira pushed a commit that referenced this pull request Feb 20, 2024
* Closes #2560 
* Adds a transformation of JuvixReg into SSA form.
* Adds an "output variable" field to branching instructions (`Case`,
`Branch`) which indicates the output variable to which the result is
assigned in both branches. The output variable corresponds to top of
stack in JuvixAsm after executing the branches. In the SSA
transformation, differently renamed output variables are unified by
inserting assignment instructions at the end of branches.
* Adds tests for the SSA transformation.
* Depends on #2641.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants