-
Notifications
You must be signed in to change notification settings - Fork 196
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
Gd/ssa arrays #190
Merged
Merged
Gd/ssa arrays #190
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- generate the cfg - generate phi instructions - unroll
constant folding arithmetic simplification standard form
- successive blocks use proper values computed during unrolling - In ACIR gate genrations, use existing witness corresponding to input variables
Fix unrolling: - proper generation of phi instructions - remove the update of phi instruction which was done at the end of a block as they need to be updated before a variable is used - activate the simplification for phi instructions
splitted the code in several files unrolling is working
enable integer arithmetic for ssa form integration tests pass
(and remove specific implementation for function call)
jfecher
reviewed
Mar 3, 2022
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.
Looks mostly good, some style/naming suggestions mainly.
(until it is feature complete with the previous evaluator)
jfecher
reviewed
Mar 4, 2022
to help for debugging
Disable one test that does not work with the old evaluator
jfecher
previously approved these changes
Mar 7, 2022
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.
LGTM!
and use type given by the frontend instead.
(previous code does not work on my system)
…o gd/ssa_arrays
jfecher
approved these changes
Mar 8, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Support for Arrays in the SSA form.
Static access to the memory is optimized via the use, when reading the memory, of a mapping of addresses to their stored values. Overflow strategy uses this mapping when possible and also maintains a maximum value of the array (for the case when the mapping does not exist).
CSE put all read/write operations in the same anchor but uses a different one for each array. It is checked in reverse order so that most recent write operation kills the rest of the anchor.
In summary, the changes are mainly around these files: