chore: add acir-gen unit tests per ssa instruction (2)#9185
chore: add acir-gen unit tests per ssa instruction (2)#9185TomAFrench merged 24 commits intomasterfrom
Conversation
jfecher
left a comment
There was a problem hiding this comment.
The bigcurve failures are unrelated and are happening on every other PR and master currently
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 93f2180 | Previous: 80b04ec | Ratio |
|---|---|---|---|
test_report_zkpassport_noir_rsa_ |
2 s |
1 s |
2 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Compilation Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: c005a5c | Previous: 7cf7a89 | Ratio |
|---|---|---|---|
rollup-block-root-empty |
25.82 s |
21.32 s |
1.21 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Execution Time'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: 93f2180 | Previous: 80b04ec | Ratio |
|---|---|---|---|
private-kernel-inner |
0.017 s |
0.014 s |
1.21 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(SSA): validate MakeArray instruction (noir-lang/noir#9183) chore(docs): Add links to ACIR and source reference docs (noir-lang/noir#9260) fix: comptime code not mutating shared ref to struct field (noir-lang/noir#9250) fix(acir_gen): Bail out of `handle_constant_index` when it encounters `DynamicArray` (noir-lang/noir#9259) feat: allow paths in l-values (noir-lang/noir#9254) fix: parse AsTraitPath in type expressions (noir-lang/noir#9258) chore: add acir-gen unit tests per ssa instruction (2) (noir-lang/noir#9185) fix(licm): Ensure that all nested loops the current block is part of are guaranteed to execute (noir-lang/noir#9249) chore: bump external pinned commits (noir-lang/noir#9256) chore: enforce clippy in `ssa_fuzzer` (noir-lang/noir#9247) chore: clippy (noir-lang/noir#9246) chore: skip `ram_blowup_regression` on PRs (noir-lang/noir#9231) chore: mark bignum as expected to pass (noir-lang/noir#9244) fix: suggest traits via visible reexports if they are not directly visible (noir-lang/noir#9242) fix: bind self when type-checking AsTraitPath (noir-lang/noir#9236) chore(docs): Include list to hashing libraries at the top of the relevant docs page (noir-lang/noir#9239) fix(fuzz): Use scoping for variable dynamism (noir-lang/noir#9233) fix(ssa): Change constraint message to "multiply" (noir-lang/noir#9230) feat: Add `compiler_unstable_features` to `Nargo.toml` (noir-lang/noir#9219) chore(fuzz): Increase loop frequency in Brillig (noir-lang/noir#9228) chore: bump noir-edwards dep (noir-lang/noir#9229) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE fix(SSA): validate MakeArray instruction (noir-lang/noir#9183) chore(docs): Add links to ACIR and source reference docs (noir-lang/noir#9260) fix: comptime code not mutating shared ref to struct field (noir-lang/noir#9250) fix(acir_gen): Bail out of `handle_constant_index` when it encounters `DynamicArray` (noir-lang/noir#9259) feat: allow paths in l-values (noir-lang/noir#9254) fix: parse AsTraitPath in type expressions (noir-lang/noir#9258) chore: add acir-gen unit tests per ssa instruction (2) (noir-lang/noir#9185) fix(licm): Ensure that all nested loops the current block is part of are guaranteed to execute (noir-lang/noir#9249) chore: bump external pinned commits (noir-lang/noir#9256) chore: enforce clippy in `ssa_fuzzer` (noir-lang/noir#9247) chore: clippy (noir-lang/noir#9246) chore: skip `ram_blowup_regression` on PRs (noir-lang/noir#9231) chore: mark bignum as expected to pass (noir-lang/noir#9244) fix: suggest traits via visible reexports if they are not directly visible (noir-lang/noir#9242) fix: bind self when type-checking AsTraitPath (noir-lang/noir#9236) chore(docs): Include list to hashing libraries at the top of the relevant docs page (noir-lang/noir#9239) fix(fuzz): Use scoping for variable dynamism (noir-lang/noir#9233) fix(ssa): Change constraint message to "multiply" (noir-lang/noir#9230) feat: Add `compiler_unstable_features` to `Nargo.toml` (noir-lang/noir#9219) chore(fuzz): Increase loop frequency in Brillig (noir-lang/noir#9228) chore: bump noir-edwards dep (noir-lang/noir#9229) END_COMMIT_OVERRIDE --------- Co-authored-by: AztecBot <tech@aztecprotocol.com> Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com> Co-authored-by: Jan Beneš <janbenes1234@gmail.com>
Description
Problem*
Same PR as #8084
I re-do it due to issues with PR review.
Summary*
Add a framework for acir-gen unit tests.
It generates SSA for a single instruction, converts it using acir-gen and execute it.
Then we compare the result with a SSA evaluation using constant folding.
All 'simple' instructions are covered, in particular all the binary instructions.
More tests with different types or missing instructions such as array operations and calls could be added in future.
Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmton default settings.