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

chore: Separate unconstrained functions during monomorphization #6894

Merged
merged 20 commits into from
Jan 6, 2025

Conversation

jfecher
Copy link
Contributor

@jfecher jfecher commented Dec 20, 2024

Description

Problem*

Resolves #6841
Resolves #6831

Summary*

Adds a boolean is_unconstrained as an extra key during monomorphization. This should separate constrained from unconstrained functions. This key is infectious so every function called from an unconstrained function will also be unconstrained.

Additional Context

Documentation*

Check one:

  • No documentation needed.
  • Documentation included in this PR.
  • [For Experimental Features] Documentation to be submitted in a separate PR.

PR Checklist*

  • I have tested the changes locally.
  • I have formatted the changes with Prettier and/or cargo fmt on default settings.

Copy link
Contributor

github-actions bot commented Dec 20, 2024

Changes to Brillig bytecode sizes

Generated at commit: f6db36c8fef6b0c37be7dc2be0df903a231aa845, compared to commit: da18a12e32e60fb2301e747fd24505fb46d679d7

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
sha256_regression -13 ✅ -0.19%
higher_order_functions -598 ✅ -88.33%

Full diff report 👇
Program Brillig opcodes (+/-) %
sha256_var_padding_regression 5,123 (-6) -0.12%
sha256 2,404 (-4) -0.17%
sha256_regression 6,904 (-13) -0.19%
higher_order_functions 79 (-598) -88.33%

Copy link
Contributor

github-actions bot commented Dec 20, 2024

Peak Memory Sample

Program Peak Memory %
keccak256 78.48M 0%
workspace 123.58M 0%
regression_4709 422.91M 0%
ram_blowup_regression 1.58G 0%
rollup-base-public 10.47G 0%
rollup-base-private 6.57G 0%
private-kernel-tail 202.04M 0%
private-kernel-reset 716.67M -1%
private-kernel-inner 292.31M 0%
parity-root 172.14M 0%

Copy link
Contributor

github-actions bot commented Dec 20, 2024

Compilation Report

Program Compilation Time %
sha256_regression 1.430s 6%
regression_4709 0.816s 5%
ram_blowup_regression 15.220s 3%
rollup-root 5.060s 30%
rollup-block-merge 3.820s -18%
rollup-base-public 37.400s -6%
rollup-base-private 19.400s -6%
private-kernel-tail 1.133s 10%
private-kernel-reset 6.892s -1%
private-kernel-inner 2.214s 2%
noir-contracts 86.200s 0%

Copy link
Contributor

github-actions bot commented Dec 20, 2024

Execution Report

Program Execution Time %
sha256_regression 0.101s 1%
regression_4709 0.001s 0%
ram_blowup_regression 0.585s -1%
rollup-root 0.125s 0%
rollup-block-merge 0.128s 1%
rollup-base-public 2.490s -2%
rollup-base-private 1.700s 1%
private-kernel-tail 0.023s 0%
private-kernel-reset 0.387s -2%
private-kernel-inner 0.116s -1%

Copy link
Contributor

github-actions bot commented Jan 2, 2025

Changes to number of Brillig opcodes executed

Generated at commit: f6db36c8fef6b0c37be7dc2be0df903a231aa845, compared to commit: da18a12e32e60fb2301e747fd24505fb46d679d7

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
sha256_regression -141 ✅ -0.12%
higher_order_functions -1,144 ✅ -91.16%

Full diff report 👇
Program Brillig opcodes (+/-) %
sha256_var_padding_regression 222,210 (-6) -0.00%
sha256 14,992 (-4) -0.03%
sha256_regression 118,563 (-141) -0.12%
higher_order_functions 111 (-1,144) -91.16%

@jfecher jfecher marked this pull request as ready for review January 2, 2025 20:34
Copy link
Contributor

github-actions bot commented Jan 3, 2025

Execution Memory Report

Program Peak Memory
keccak256 74.61M
workspace 123.71M
regression_4709 315.93M
ram_blowup_regression 512.47M
rollup-base-public 1.18G
rollup-base-private 831.52M
private-kernel-tail 181.99M
private-kernel-reset 255.57M
private-kernel-inner 215.17M

Copy link
Contributor

github-actions bot commented Jan 3, 2025

Compilation Memory Report

Program Peak Memory
keccak256 78.50M
workspace 123.60M
regression_4709 422.91M
ram_blowup_regression 1.58G
rollup-base-public 2.80G
rollup-base-private 1.86G
private-kernel-tail 201.95M
private-kernel-reset 716.58M
private-kernel-inner 292.22M

@jfecher
Copy link
Contributor Author

jfecher commented Jan 3, 2025

This should be ready for review now. There were some issues with unused functions before that have since been resolved. I've tried a few combinations including updating the defunctionalization pass to not touch acir functions, but I found that it was easiest to just remove unused functions again after inlining to avoid triggering a constant_assert in an unreachable function in the hashmap example.

@TomAFrench
Copy link
Member

This causes some regressions on circuit sizes which is not being shown due to a bug in the noir-gates-diff action. The fix is in #6944.

Copy link
Contributor

@vezenovm vezenovm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good once the debugger is patched. I see that we do have some monomorphization logic for the debugger under monomorphization/debug.rs

@jfecher
Copy link
Contributor Author

jfecher commented Jan 6, 2025

Made an issue for the debugger issue here: #6955.
For now, I added a short circuit if no such function exists in the pass. In the future we probably shouldn't have the inliner removing functions still referenced by debugger functions.

@jfecher jfecher added this pull request to the merge queue Jan 6, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Jan 6, 2025
@TomAFrench TomAFrench added this pull request to the merge queue Jan 6, 2025
Merged via the queue into master with commit 2e5d91f Jan 6, 2025
89 checks passed
@TomAFrench TomAFrench deleted the jf/monomorphize-unconstrained branch January 6, 2025 19:04
TomAFrench added a commit that referenced this pull request Jan 6, 2025
* master:
  chore: Separate unconstrained functions during monomorphization (#6894)
  feat!: turn CannotReexportItemWithLessVisibility into an error (#6952)
  feat: lock on Nargo.toml on several nargo commands (#6941)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 7, 2025
…oir#6926)

chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 7, 2025
chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
Aristotelis2002 added a commit to blocksense-network/noir that referenced this pull request Jan 7, 2025
With PR noir-lang#6894 upstream have moved the SSA optimization
"separate_runtime" to be happening during the monomorphization phase.
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 7, 2025
)

feat: `--pedantic-solving` flag (noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array (noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super (noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error (noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings (noir-lang/noir#6969)
fix: error on missing function parameters (noir-lang/noir#6967)
feat: don't report warnings for dependencies (noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 7, 2025
feat: `--pedantic-solving` flag (noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array (noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super (noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error (noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings (noir-lang/noir#6969)
fix: error on missing function parameters (noir-lang/noir#6967)
feat: don't report warnings for dependencies (noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
TomAFrench added a commit that referenced this pull request Jan 8, 2025
* master: (51 commits)
  feat!: type-check trait default methods (#6645)
  feat: `--pedantic-solving` flag (#6716)
  feat!: update `aes128_encrypt` to return an array (#6973)
  fix: wrong module to lookup trait when using crate or super (#6974)
  fix: Start RC at 1 again (#6958)
  feat!: turn TypeIsMorePrivateThenItem into an error (#6953)
  fix: don't fail parsing macro if there are parser warnings (#6969)
  fix: error on missing function parameters (#6967)
  feat: don't report warnings for dependencies (#6926)
  chore: simplify boolean in a mul of a mul (#6951)
  feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (#6893)
  chore: Move comment as part of #6945 (#6959)
  chore: Separate unconstrained functions during monomorphization (#6894)
  feat!: turn CannotReexportItemWithLessVisibility into an error (#6952)
  feat: lock on Nargo.toml on several nargo commands (#6941)
  feat: don't simplify SSA instructions when creating them from a string (#6948)
  chore: add reproduction case for bignum test failure (#6464)
  chore: bump `noir-gates-diff` (#6949)
  feat(test): Enable the test fuzzer for Wasm (#6835)
  chore: also print test output to stdout in CI (#6930)
  ...
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 8, 2025
)

feat: `--pedantic-solving` flag (noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array (noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super (noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error (noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings (noir-lang/noir#6969)
fix: error on missing function parameters (noir-lang/noir#6967)
feat: don't report warnings for dependencies (noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 8, 2025
feat: `--pedantic-solving` flag (noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array (noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super (noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error (noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings (noir-lang/noir#6969)
fix: error on missing function parameters (noir-lang/noir#6967)
feat: don't report warnings for dependencies (noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
Rumata888 pushed a commit that referenced this pull request Jan 8, 2025
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 8, 2025
fix: Do not emit range check for multiplication by bool (noir-lang/noir#6983)
fix: do not panic on indices which are not valid `u32`s (noir-lang/noir#6976)
feat!: require trait method calls (`foo.bar()`) to have the trait in scope (imported) (noir-lang/noir#6895)
feat!: type-check trait default methods (noir-lang/noir#6645)
feat: `--pedantic-solving` flag (noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array (noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super (noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error (noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings (noir-lang/noir#6969)
fix: error on missing function parameters (noir-lang/noir#6967)
feat: don't report warnings for dependencies (noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 8, 2025
fix: Do not emit range check for multiplication by bool (noir-lang/noir#6983)
fix: do not panic on indices which are not valid `u32`s (noir-lang/noir#6976)
feat!: require trait method calls (`foo.bar()`) to have the trait in scope (imported) (noir-lang/noir#6895)
feat!: type-check trait default methods (noir-lang/noir#6645)
feat: `--pedantic-solving` flag (noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array (noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super (noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error (noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings (noir-lang/noir#6969)
fix: error on missing function parameters (noir-lang/noir#6967)
feat: don't report warnings for dependencies (noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul (noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR functions (noir-lang/noir#6893)
chore: Move comment as part of #6945 (noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization (noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error (noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands (noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string (noir-lang/noir#6948)
chore: add reproduction case for bignum test failure (noir-lang/noir#6464)
chore: bump `noir-gates-diff` (noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm (noir-lang/noir#6835)
chore: also print test output to stdout in CI (noir-lang/noir#6930)
fix: Non-determinism from under constrained checks (noir-lang/noir#6945)
chore: use logs for benchmarking (noir-lang/noir#6911)
chore: bump `noir-gates-diff` (noir-lang/noir#6944)
chore: bump `noir-gates-diff` (noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure (noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator` (noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0` (noir-lang/noir#6871)
TomAFrench added a commit to AztecProtocol/aztec-packages that referenced this pull request Jan 9, 2025
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: impl Default for U128
(noir-lang/noir#6984)
fix: Do not emit range check for multiplication by bool
(noir-lang/noir#6983)
fix: do not panic on indices which are not valid `u32`s
(noir-lang/noir#6976)
feat!: require trait method calls (`foo.bar()`) to have the trait in
scope (imported) (noir-lang/noir#6895)
feat!: type-check trait default methods
(noir-lang/noir#6645)
feat: `--pedantic-solving` flag
(noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super
(noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings
(noir-lang/noir#6969)
fix: error on missing function parameters
(noir-lang/noir#6967)
feat: don't report warnings for dependencies
(noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul
(noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR
functions (noir-lang/noir#6893)
chore: Move comment as part of #6945
(noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization
(noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands
(noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string
(noir-lang/noir#6948)
chore: add reproduction case for bignum test failure
(noir-lang/noir#6464)
chore: bump `noir-gates-diff`
(noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm
(noir-lang/noir#6835)
chore: also print test output to stdout in CI
(noir-lang/noir#6930)
fix: Non-determinism from under constrained checks
(noir-lang/noir#6945)
chore: use logs for benchmarking
(noir-lang/noir#6911)
chore: bump `noir-gates-diff`
(noir-lang/noir#6944)
chore: bump `noir-gates-diff`
(noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure
(noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator`
(noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in
scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0`
(noir-lang/noir#6871)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Michael J Klein <[email protected]>
Co-authored-by: Michael Klein <[email protected]>
Co-authored-by: Tom French <[email protected]>
Co-authored-by: Tom French <[email protected]>
Co-authored-by: Charlie Lye <[email protected]>
Co-authored-by: ludamad <[email protected]>
AztecBot added a commit to AztecProtocol/aztec-nr that referenced this pull request Jan 10, 2025
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: impl Default for U128
(noir-lang/noir#6984)
fix: Do not emit range check for multiplication by bool
(noir-lang/noir#6983)
fix: do not panic on indices which are not valid `u32`s
(noir-lang/noir#6976)
feat!: require trait method calls (`foo.bar()`) to have the trait in
scope (imported) (noir-lang/noir#6895)
feat!: type-check trait default methods
(noir-lang/noir#6645)
feat: `--pedantic-solving` flag
(noir-lang/noir#6716)
feat!: update `aes128_encrypt` to return an array
(noir-lang/noir#6973)
fix: wrong module to lookup trait when using crate or super
(noir-lang/noir#6974)
fix: Start RC at 1 again (noir-lang/noir#6958)
feat!: turn TypeIsMorePrivateThenItem into an error
(noir-lang/noir#6953)
fix: don't fail parsing macro if there are parser warnings
(noir-lang/noir#6969)
fix: error on missing function parameters
(noir-lang/noir#6967)
feat: don't report warnings for dependencies
(noir-lang/noir#6926)
chore: simplify boolean in a mul of a mul
(noir-lang/noir#6951)
feat(ssa): Immediately simplify away RefCount instructions in ACIR
functions (noir-lang/noir#6893)
chore: Move comment as part of #6945
(noir-lang/noir#6959)
chore: Separate unconstrained functions during monomorphization
(noir-lang/noir#6894)
feat!: turn CannotReexportItemWithLessVisibility into an error
(noir-lang/noir#6952)
feat: lock on Nargo.toml on several nargo commands
(noir-lang/noir#6941)
feat: don't simplify SSA instructions when creating them from a string
(noir-lang/noir#6948)
chore: add reproduction case for bignum test failure
(noir-lang/noir#6464)
chore: bump `noir-gates-diff`
(noir-lang/noir#6949)
feat(test): Enable the test fuzzer for Wasm
(noir-lang/noir#6835)
chore: also print test output to stdout in CI
(noir-lang/noir#6930)
fix: Non-determinism from under constrained checks
(noir-lang/noir#6945)
chore: use logs for benchmarking
(noir-lang/noir#6911)
chore: bump `noir-gates-diff`
(noir-lang/noir#6944)
chore: bump `noir-gates-diff`
(noir-lang/noir#6943)
fix: Show output of `test_program_is_idempotent` on failure
(noir-lang/noir#6942)
chore: delete a bunch of dead code from `noirc_evaluator`
(noir-lang/noir#6939)
feat: require trait function calls (`Foo::bar()`) to have the trait in
scope (imported) (noir-lang/noir#6882)
chore: Bump arkworks to version `0.5.0`
(noir-lang/noir#6871)
END_COMMIT_OVERRIDE

---------

Co-authored-by: Michael J Klein <[email protected]>
Co-authored-by: Michael Klein <[email protected]>
Co-authored-by: Tom French <[email protected]>
Co-authored-by: Tom French <[email protected]>
Co-authored-by: Charlie Lye <[email protected]>
Co-authored-by: ludamad <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Separate runtimes before SSA Strip IncRC instructions from SSA for ACIR functions before reaching ACIRgen
4 participants