feat: pass in closure to Driver to signal backend opcode support#1349
Merged
TomAFrench merged 5 commits intomasterfrom May 17, 2023
Merged
feat: pass in closure to Driver to signal backend opcode support#1349TomAFrench merged 5 commits intomasterfrom
Driver to signal backend opcode support#1349TomAFrench merged 5 commits intomasterfrom
Conversation
f24b605 to
333073c
Compare
333073c to
6bfcc4e
Compare
Driver to signal opcode supportDriver to signal backend opcode support
Member
Author
|
This is technically breaking to the driver. I'm inclined to mark this as non-breaking however as it doesn't break nargo/noir_wasm and we don't make stable releases of the driver. |
kevaundray
previously approved these changes
May 16, 2023
Member
Author
|
Blocking this as I need to make a couple of tweaks |
1 task
Member
Author
|
Annoyingly we can't easily clone this closure which is going to cause issues when removing all the copies of |
kevaundray
approved these changes
May 17, 2023
Contributor
kevaundray
left a comment
There was a problem hiding this comment.
Looks good, though honestly want to remove this closure from the Noir compiler process in the near-future
TomAFrench
added a commit
that referenced
this pull request
May 18, 2023
* master: fix: Fix modulo operator for comptime values (#1361) chore: clarify that `verify_signature` takes a hashed message (#1365) feat: pass in closure to `Driver` to signal backend opcode support (#1349) feat(nargo)!: retire print-acir in favour of flag (#1328) chore(ssa): enable cse for assert (#1350) chore(ssa refactor): Add basic instruction simplification (#1329) chore(noir): Release 0.6.0 (#1279)
TomAFrench
added a commit
that referenced
this pull request
May 18, 2023
* master: fix: Fix modulo operator for comptime values (#1361) chore: clarify that `verify_signature` takes a hashed message (#1365) feat: pass in closure to `Driver` to signal backend opcode support (#1349) feat(nargo)!: retire print-acir in favour of flag (#1328) chore(ssa): enable cse for assert (#1350) chore(ssa refactor): Add basic instruction simplification (#1329) chore(noir): Release 0.6.0 (#1279)
TomAFrench
added a commit
that referenced
this pull request
May 18, 2023
* master: fix: Fix modulo operator for comptime values (#1361) chore: clarify that `verify_signature` takes a hashed message (#1365) feat: pass in closure to `Driver` to signal backend opcode support (#1349) feat(nargo)!: retire print-acir in favour of flag (#1328) chore(ssa): enable cse for assert (#1350) chore(ssa refactor): Add basic instruction simplification (#1329) chore(noir): Release 0.6.0 (#1279)
This file contains hidden or 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
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.
Related issue(s)
Related to #1102 as it makes the backend dependency explicit.
Description
Summary of changes
This PR makes the Noir compiler frontend's dependency on a backend explicit as we now pass in a closure to describe which opcodes it supports to use when dealing with foreign functions.
For now this still uses the default support function but should be updated once noir-lang/acvm#273 makes its way into this repository. Once this is done then we can remove those functions for the 0.13.0 release of ACVM.
Dependency additions / changes
Test additions / changes
Checklist
cargo fmtwith default settings.Documentation needs
Additional context