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: Add Instruction::MakeArray to SSA #6071

Merged
merged 22 commits into from
Nov 18, 2024
Merged

chore: Add Instruction::MakeArray to SSA #6071

merged 22 commits into from
Nov 18, 2024

Conversation

jfecher
Copy link
Contributor

@jfecher jfecher commented Sep 17, 2024

Description

Problem*

Resolves #1733

Summary*

Adds a MakeArray instruction to explicitly create a new array. Now no other ValueIds can contain other ValueIds which simplifies a couple passes.

Additional Context

Still working on getting this working in brillig.

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.

@TomAFrench
Copy link
Member

Seems like --show-ssa fixes the compilation failures on the few programs I tried.

@TomAFrench
Copy link
Member

Disabling the normalization of valueids shows that we're deleting instructions in the DIE pass which shouldn't be removed. For example the load instruction when returning arr in quicksort is removed from array_sort.

This is happening because somehow the return value of this function (the loaded value) becomes a Value::Function rather than a Value::Instruction. We only mark return values as used if they're constants, instructions or block params so we end up removing the loaded instruction.

@TomAFrench
Copy link
Member

I've merged in master so that this branch is up to date so will be handing this PR back now.

Copy link
Contributor

github-actions bot commented Oct 9, 2024

Changes to Brillig bytecode sizes

Generated at commit: 262b9f666c60b916f1c9f82004d6cd04376af4c6, compared to commit: 1cad7c887893ebfb5de57a71d7965c8b88158a14

🧾 Summary (10% most significant diffs)

Program Brillig opcodes (+/-) %
databus_two_calldata -47 ✅ -17.41%
databus_composite_calldata -151 ✅ -27.61%
databus -28 ✅ -29.47%
databus_two_calldata_simple -36 ✅ -30.77%

Full diff report 👇
Program Brillig opcodes (+/-) %
brillig_unitialised_arrays 48 (+1) +2.13%
slice_dynamic_index 2,808 (+8) +0.29%
hashmap 27,594 (-8) -0.03%
uhashmap 16,716 (-8) -0.05%
eddsa 11,120 (-15) -0.13%
brillig_slices 715 (-1) -0.14%
regression_5252 4,892 (-9) -0.18%
poseidon_bn254_hash_width_3 5,684 (-12) -0.21%
poseidon_bn254_hash 5,684 (-12) -0.21%
slices 2,318 (-5) -0.22%
poseidonsponge_x5_254 4,494 (-12) -0.27%
tuple_inputs 375 (-2) -0.53%
sha2_byte 3,388 (-22) -0.65%
regression 744 (-5) -0.67%
nested_array_in_slice 1,279 (-10) -0.78%
aes128_encrypt 522 (-5) -0.95%
references 311 (-4) -1.27%
nested_array_dynamic 2,145 (-36) -1.65%
bigint 2,045 (-45) -2.15%
binary_operator_overloading 386 (-9) -2.28%
conditional_regression_661 127 (-3) -2.31%
break_and_continue 56 (-5) -8.20%
regression_3607 44 (-5) -10.20%
databus_two_calldata 223 (-47) -17.41%
databus_composite_calldata 396 (-151) -27.61%
databus 67 (-28) -29.47%
databus_two_calldata_simple 81 (-36) -30.77%

Copy link
Contributor

github-actions bot commented Oct 9, 2024

Changes to circuit sizes

Generated at commit: 262b9f666c60b916f1c9f82004d6cd04376af4c6, compared to commit: 1cad7c887893ebfb5de57a71d7965c8b88158a14

🧾 Summary (10% most significant diffs)

Program ACIR opcodes (+/-) % Circuit size (+/-) %
hashmap -15,782 ✅ -37.95% -41,817 ✅ -39.17%

Full diff report 👇
Program ACIR opcodes (+/-) % Circuit size (+/-) %
hashmap 25,806 (-15,782) -37.95% 64,940 (-41,817) -39.17%

@jfecher jfecher marked this pull request as ready for review October 9, 2024 11:43
@jfecher jfecher requested a review from a team October 9, 2024 11:43
@jfecher
Copy link
Contributor Author

jfecher commented Oct 9, 2024

This is passing all tests now and showing a surprisingly large improvement in the hashmap test but also large regressions in brillig bytecode sizes.

@TomAFrench
Copy link
Member

This is likely due to the fact that constant arrays are no long considered as "constants" by constant_allocation.rs. We're then not hoisting their usage up to avoid multiple initialisations.

@TomAFrench TomAFrench linked an issue Oct 9, 2024 that may be closed by this pull request
@jfecher
Copy link
Contributor Author

jfecher commented Oct 9, 2024

@TomAFrench hmm I tried updating is_constant_value there but doing so just leads to many panics on ValueIds not being available.

Copy link
Contributor

@michaeljklein michaeljklein left a comment

Choose a reason for hiding this comment

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

LGTM

@jfecher
Copy link
Contributor Author

jfecher commented Oct 9, 2024

Going to hold off on merging this for a bit due to the brillig size regressions

@vezenovm
Copy link
Contributor

vezenovm commented Oct 9, 2024

Going to hold off on merging this for a bit due to the brillig size regressions

Yeah would be good to avoid this regression.

@sirasistant
Copy link
Contributor

sirasistant commented Oct 21, 2024

This is likely due to the fact that constant arrays are no long considered as "constants" by constant_allocation.rs. We're then not hoisting their usage up to avoid multiple initialisations.

yes, I think that's the issue. For example, in slices, we have patterns like this:

    inc_rc v207
    v208 = make_slice [Field 0, Field 0]
    inc_rc v208
    v209 = eq v0, v1
    v210 = not v209
    jmpif v210 then: b18, else: b17
  b18():
    v212 = eq v0, Field 20
    v213 = not v212
    jmpif v213 then: b20, else: b19
  b20():
    v214 = make_slice [Field 0, Field 0, v1]
    v215 = make_slice [Field 0, Field 0, v1]
    v216 = make_slice [Field 0, Field 0, v1]
    jmp b21(u32 3, v216)
  b21(v10: u32, v11: [Field]):
    jmp b22(v10, v11)
  b22(v12: u32, v13: [Field]):
    inc_rc v13
    v217 = eq v12, u32 3
    constrain v12 == u32 3
    v218 = lt u32 2, v12
    constrain v218 == u1 1 '"Index out of bounds"'
    v219 = array_get v13, index u32 2
    v220 = eq v219, Field 10
    constrain v219 == Field 10
    v221 = make_slice [Field 0, Field 0]

Previously, these immediate slices would have been picked up by constant_allocation and hoisted to just 1 single initialization. Now, since array constant initialization has been promoted to a instruction, we actually need to do at the ssa level what constant allocation was doing outside SSA. So in order to avoid any regression we need to identify payloads to make_array that are equal to each other and hoist the make_array to the common dominator of all the arrays that are equal.

Also, if all the values are immediates constant_allocation was hoisting them out of loops to avoid extra runtime cost. But that won't affect bytecode size

@jfecher jfecher enabled auto-merge November 18, 2024 15:48
compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs Outdated Show resolved Hide resolved
compiler/noirc_evaluator/src/ssa/acir_gen/mod.rs Outdated Show resolved Hide resolved
compiler/noirc_evaluator/src/ssa/ir/dfg.rs Show resolved Hide resolved
jfecher and others added 2 commits November 18, 2024 10:03
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
Co-authored-by: Maxim Vezenov <mvezenov@gmail.com>
@jfecher jfecher added this pull request to the merge queue Nov 18, 2024
Merged via the queue into master with commit 2d999f0 Nov 18, 2024
49 checks passed
@jfecher jfecher deleted the jf/make-array branch November 18, 2024 16:20
TomAFrench added a commit that referenced this pull request Nov 18, 2024
* master:
  fix: take blackbox function outputs into account when merging expressions (#6532)
  chore: Add `Instruction::MakeArray` to SSA (#6071)
  feat(profiler): Reduce memory in Brillig execution flamegraph (#6538)
  chore: convert some tests to use SSA parser (#6543)
TomAFrench added a commit that referenced this pull request Nov 18, 2024
* master:
  fix: take blackbox function outputs into account when merging expressions (#6532)
  chore: Add `Instruction::MakeArray` to SSA (#6071)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 18, 2024
…r#6534)

fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 19, 2024
…ir#6523)

chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 19, 2024
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
TomAFrench added a commit that referenced this pull request Nov 19, 2024
* master: (65 commits)
  chore: remove some `_else_condition` tech debt (#6522)
  chore: revert #6375 (#6552)
  feat: simplify constant MSM calls in SSA (#6547)
  chore(test): Remove duplicate brillig tests (#6523)
  chore: restructure `noirc_evaluator` crate (#6534)
  fix: take blackbox function outputs into account when merging expressions (#6532)
  chore: Add `Instruction::MakeArray` to SSA (#6071)
  feat(profiler): Reduce memory in Brillig execution flamegraph (#6538)
  chore: convert some tests to use SSA parser (#6543)
  chore(ci): bump mac github runner image to `macos-14` (#6545)
  chore(test): More descriptive labels in test matrix (#6542)
  chore: Remove unused methods from implicit numeric generics (#6541)
  fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (#6434)
  fix: allow range checks to be performed within the comptime intepreter (#6514)
  fix: disallow `#[test]` on associated functions (#6449)
  chore(ssa): Skip array_set pass for Brillig functions (#6513)
  chore: Reverse ssa parser diff order (#6511)
  chore: Parse negatives in SSA parser (#6510)
  feat: avoid unnecessary ssa passes while loop unrolling (#6509)
  fix(tests): Use a file lock as well as a mutex to isolate tests cases (#6508)
  ...
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 19, 2024
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt (noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA (noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests (noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 20, 2024
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503)
chore: Release Noir(0.39.0) (noir-lang/noir#6484)
feat: Sync from aztec-packages (noir-lang/noir#6557)
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt (noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA (noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests (noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 20, 2024
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503)
chore: Release Noir(0.39.0) (noir-lang/noir#6484)
feat: Sync from aztec-packages (noir-lang/noir#6557)
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt (noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA (noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests (noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 20, 2024
chore: remove separate acvm versioning (noir-lang/noir#6561)
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503)
chore: Release Noir(0.39.0) (noir-lang/noir#6484)
feat: Sync from aztec-packages (noir-lang/noir#6557)
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt (noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA (noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests (noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 20, 2024
chore: remove separate acvm versioning (noir-lang/noir#6561)
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503)
chore: Release Noir(0.39.0) (noir-lang/noir#6484)
feat: Sync from aztec-packages (noir-lang/noir#6557)
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt (noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA (noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests (noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 21, 2024
chore: Added test showcasing performance regression (noir-lang/noir#6566)
chore: embed package name in logs (noir-lang/noir#6564)
chore: remove separate acvm versioning (noir-lang/noir#6561)
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503)
chore: Release Noir(0.39.0) (noir-lang/noir#6484)
feat: Sync from aztec-packages (noir-lang/noir#6557)
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt (noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA (noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests (noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
AztecBot added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 21, 2024
chore: Added test showcasing performance regression (noir-lang/noir#6566)
chore: embed package name in logs (noir-lang/noir#6564)
chore: remove separate acvm versioning (noir-lang/noir#6561)
chore: switch to 1.0.0-beta versioning (noir-lang/noir#6503)
chore: Release Noir(0.39.0) (noir-lang/noir#6484)
feat: Sync from aztec-packages (noir-lang/noir#6557)
feat(ssa): Unroll small loops in brillig (noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification (noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt (noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA (noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests (noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate (noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA (noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph (noir-lang/noir#6538)
chore: convert some tests to use SSA parser (noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14` (noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix (noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics (noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter (noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions (noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions (noir-lang/noir#6513)
chore: Reverse ssa parser diff order (noir-lang/noir#6511)
chore: Parse negatives in SSA parser (noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling (noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases (noir-lang/noir#6508)
fix: set local_module before elaborating each trait (noir-lang/noir#6506)
fix: parse Slice type in SSa (noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast` (noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs (noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks (noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code (noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc (noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other (noir-lang/noir#6477)
chore: bump rust dependencies (noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles (noir-lang/noir#5675)
chore: Release Noir(0.38.0) (noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash (noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions (noir-lang/noir#6269)
fix: let formatter respect newlines between comments (noir-lang/noir#6458)
fix: check infix expression is valid in program input (noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path (noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs (noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias (noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization (noir-lang/noir#6329)
chore: split path and import lookups (noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array (noir-lang/noir#6448)
fix: right shift is not a regular division (noir-lang/noir#6400)
sirasistant added a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 21, 2024
Automated pull of development from the
[noir](https://github.com/noir-lang/noir) programming language, a
dependency of Aztec.
BEGIN_COMMIT_OVERRIDE
feat: trait aliases (noir-lang/noir#6431)
chore: Added test showcasing performance regression
(noir-lang/noir#6566)
chore: embed package name in logs
(noir-lang/noir#6564)
chore: remove separate acvm versioning
(noir-lang/noir#6561)
chore: switch to 1.0.0-beta versioning
(noir-lang/noir#6503)
chore: Release Noir(0.39.0)
(noir-lang/noir#6484)
feat: Sync from aztec-packages
(noir-lang/noir#6557)
feat(ssa): Unroll small loops in brillig
(noir-lang/noir#6505)
fix: Do a shallow follow_bindings before unification
(noir-lang/noir#6558)
chore: remove some `_else_condition` tech debt
(noir-lang/noir#6522)
chore: revert #6375 (noir-lang/noir#6552)
feat: simplify constant MSM calls in SSA
(noir-lang/noir#6547)
chore(test): Remove duplicate brillig tests
(noir-lang/noir#6523)
chore: restructure `noirc_evaluator` crate
(noir-lang/noir#6534)
fix: take blackbox function outputs into account when merging
expressions (noir-lang/noir#6532)
chore: Add `Instruction::MakeArray` to SSA
(noir-lang/noir#6071)
feat(profiler): Reduce memory in Brillig execution flamegraph
(noir-lang/noir#6538)
chore: convert some tests to use SSA parser
(noir-lang/noir#6543)
chore(ci): bump mac github runner image to `macos-14`
(noir-lang/noir#6545)
chore(test): More descriptive labels in test matrix
(noir-lang/noir#6542)
chore: Remove unused methods from implicit numeric generics
(noir-lang/noir#6541)
fix: Fix poor handling of aliased references in flattening pass causing
some values to be zeroed (noir-lang/noir#6434)
fix: allow range checks to be performed within the comptime intepreter
(noir-lang/noir#6514)
fix: disallow `#[test]` on associated functions
(noir-lang/noir#6449)
chore(ssa): Skip array_set pass for Brillig functions
(noir-lang/noir#6513)
chore: Reverse ssa parser diff order
(noir-lang/noir#6511)
chore: Parse negatives in SSA parser
(noir-lang/noir#6510)
feat: avoid unnecessary ssa passes while loop unrolling
(noir-lang/noir#6509)
fix(tests): Use a file lock as well as a mutex to isolate tests cases
(noir-lang/noir#6508)
fix: set local_module before elaborating each trait
(noir-lang/noir#6506)
fix: parse Slice type in SSa
(noir-lang/noir#6507)
fix: perform arithmetic simplification through `CheckedCast`
(noir-lang/noir#6502)
feat: SSA parser (noir-lang/noir#6489)
chore(test): Run test matrix on test_programs
(noir-lang/noir#6429)
chore(ci): fix cargo deny (noir-lang/noir#6501)
feat: Deduplicate instructions across blocks
(noir-lang/noir#6499)
chore: move tests for arithmetic generics closer to the code
(noir-lang/noir#6497)
fix(docs): Fix broken links in oracles doc
(noir-lang/noir#6488)
fix: Treat all parameters as possible aliases of each other
(noir-lang/noir#6477)
chore: bump rust dependencies
(noir-lang/noir#6482)
feat: use a full `BlackBoxFunctionSolver` implementation when execution
brillig during acirgen (noir-lang/noir#6481)
chore(docs): Update How to Oracles
(noir-lang/noir#5675)
chore: Release Noir(0.38.0)
(noir-lang/noir#6422)
fix(ssa): Change array_set to not mutate slices coming from function
inputs (noir-lang/noir#6463)
chore: update example to show how to split public inputs in bash
(noir-lang/noir#6472)
fix: Discard optimisation that would change execution ordering or that
is related to call outputs (noir-lang/noir#6461)
chore: proptest for `canonicalize` on infix type expressions
(noir-lang/noir#6269)
fix: let formatter respect newlines between comments
(noir-lang/noir#6458)
fix: check infix expression is valid in program input
(noir-lang/noir#6450)
fix: don't crash on AsTraitPath with empty path
(noir-lang/noir#6454)
fix(tests): Prevent EOF error while running test programs
(noir-lang/noir#6455)
fix(sea): mem2reg to treat block input references as alias
(noir-lang/noir#6452)
chore: revamp attributes (noir-lang/noir#6424)
feat!: Always Check Arithmetic Generics at Monomorphization
(noir-lang/noir#6329)
chore: split path and import lookups
(noir-lang/noir#6430)
fix(ssa): Resolve value IDs in terminator before comparing to array
(noir-lang/noir#6448)
fix: right shift is not a regular division
(noir-lang/noir#6400)
END_COMMIT_OVERRIDE

---------

Co-authored-by: sirasistant <sirasistant@gmail.com>
Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Co-authored-by: TomAFrench <tom@tomfren.ch>
critesjosh pushed a commit to AztecProtocol/aztec-packages that referenced this pull request Nov 25, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.64.0</summary>

##
[0.64.0](aztec-package-v0.63.1...aztec-package-v0.64.0)
(2024-11-25)


### Features

* Unify anvil versions
([#10143](#10143))
([adae143](adae143))


### Miscellaneous

* Fast epoch building test
([#10045](#10045))
([fb791a2](fb791a2)),
closes
[#9809](#9809)
</details>

<details><summary>barretenberg.js: 0.64.0</summary>

##
[0.64.0](barretenberg.js-v0.63.1...barretenberg.js-v0.64.0)
(2024-11-25)


### Features

* Single commitment key allocation in CIVC
([#9974](#9974))
([a0551ee](a0551ee))


### Bug Fixes

* Strip wasm debug
([#9987](#9987))
([62a6b66](62a6b66))


### Documentation

* Add docs to enable multi-threading in bb.js
([#10064](#10064))
([8b4ebd1](8b4ebd1))
</details>

<details><summary>aztec-packages: 0.64.0</summary>

##
[0.64.0](aztec-packages-v0.63.1...aztec-packages-v0.64.0)
(2024-11-25)


### ⚠ BREAKING CHANGES

* rename SharedMutable methods
([#10165](#10165))
* add AztecAddress.isValid and make random be valid
([#10081](#10081))
* Always Check Arithmetic Generics at Monomorphization
(noir-lang/noir#6329)

### Features

* Add AztecAddress.isValid and make random be valid
([#10081](#10081))
([fbdf6b0](fbdf6b0))
* Always Check Arithmetic Generics at Monomorphization
(noir-lang/noir#6329)
([b8bace9](b8bace9))
* **avm:** Error handling for address resolution
([#9994](#9994))
([ceaeda5](ceaeda5)),
closes
[#9131](#9131)
* **avm:** Integrate ephemeral trees
([#9917](#9917))
([fbe1128](fbe1128))
* **avm:** More efficient low leaf search
([#9870](#9870))
([f7bbd83](f7bbd83))
* Avoid unnecessary ssa passes while loop unrolling
(noir-lang/noir#6509)
([b8bace9](b8bace9))
* Bb-prover AVM test crafts a test TX & properly plumbs
AvmCircuitPublicInputs to witgen
([#10083](#10083))
([55564aa](55564aa))
* Calls to non-existent contracts in the AVM simulator return failure
([#10051](#10051))
([133384c](133384c))
* Compute base-fee on l1
([#9986](#9986))
([4ab46fe](4ab46fe))
* Deduplicate instructions across blocks
(noir-lang/noir#6499)
([b8bace9](b8bace9))
* E2e metrics reporting
([#9776](#9776))
([9cab121](9cab121))
* Gating test
([#9918](#9918))
([c6b65ab](c6b65ab)),
closes
[#9883](#9883)
* Google Kubernetes Engine - Prover Agent Spot Node Support
([#10031](#10031))
([4d6da9b](4d6da9b))
* Improve trace utilization tracking
([#10008](#10008))
([4c560ab](4c560ab))
* Improved data storage metrics
([#10020](#10020))
([c6ab0c9](c6ab0c9))
* Initial gas oracle
([#9952](#9952))
([e740d42](e740d42))
* Insert public data tree leaves one by one
([#9989](#9989))
([a2c0701](a2c0701))
* Integrate base fee computation into rollup
([#10076](#10076))
([3417b22](3417b22))
* IPA accumulators setup for Rollup
([#10040](#10040))
([4129e27](4129e27))
* New proving agent
([#9999](#9999))
([9ad24dd](9ad24dd))
* **profiler:** Reduce memory in Brillig execution flamegraph
(noir-lang/noir#6538)
([b8bace9](b8bace9))
* Public network deployments
([#10089](#10089))
([570f70a](570f70a))
* PXE handles reorgs
([#9913](#9913))
([aafef9c](aafef9c))
* Rename SharedMutable methods
([#10165](#10165))
([4fd70e8](4fd70e8))
* Reset pxe indexes
([#10093](#10093))
([3848c01](3848c01))
* Simplify constant MSM calls in SSA
(noir-lang/noir#6547)
([b8bace9](b8bace9))
* Single commitment key allocation in CIVC
([#9974](#9974))
([a0551ee](a0551ee))
* SSA parser (noir-lang/noir#6489)
([b8bace9](b8bace9))
* **ssa:** Unroll small loops in brillig
(noir-lang/noir#6505)
([b8bace9](b8bace9))
* Sync from aztec-packages (noir-lang/noir#6557)
([b8bace9](b8bace9))
* Sync tags as sender
([#10071](#10071))
([122d2e4](122d2e4))
* Terraform for release deployments
([#10091](#10091))
([dc528da](dc528da)),
closes
[#10144](#10144)
* Trait aliases (noir-lang/noir#6431)
([b8bace9](b8bace9))
* Unify anvil versions
([#10143](#10143))
([adae143](adae143))
* Updating consensus payload
([#10017](#10017))
([85c8a3b](85c8a3b))
* Use a full `BlackBoxFunctionSolver` implementation when execution
brillig during acirgen (noir-lang/noir#6481)
([b8bace9](b8bace9))
* **val:** Reex
([#9768](#9768))
([2e58f0a](2e58f0a))


### Bug Fixes

* Add curl to aztec nargo container
([#10173](#10173))
([2add6ae](2add6ae))
* Add zod parsing for generated contract artifacts
([#9905](#9905))
([e1ef998](e1ef998))
* Allow range checks to be performed within the comptime intepreter
(noir-lang/noir#6514)
([b8bace9](b8bace9))
* Allow unwinding multiple empty blocks
([#10084](#10084))
([ec34442](ec34442))
* Boxes
([#10122](#10122))
([10df7c5](10df7c5))
* Check infix expression is valid in program input
(noir-lang/noir#6450)
([b8bace9](b8bace9))
* Disallow `#[test]` on associated functions
(noir-lang/noir#6449)
([b8bace9](b8bace9))
* Disallow contract registration in pxe of contract with duplicate
private function selectors
([#9773](#9773))
([2587ad5](2587ad5))
* Discard optimisation that would change execution ordering or that is
related to call outputs (noir-lang/noir#6461)
([b8bace9](b8bace9))
* Do a shallow follow_bindings before unification
(noir-lang/noir#6558)
([b8bace9](b8bace9))
* **docs:** Fix broken links in oracles doc
(noir-lang/noir#6488)
([b8bace9](b8bace9))
* Don't crash on AsTraitPath with empty path
(noir-lang/noir#6454)
([b8bace9](b8bace9))
* Fix poor handling of aliased references in flattening pass causing
some values to be zeroed (noir-lang/noir#6434)
([b8bace9](b8bace9))
* Let formatter respect newlines between comments
(noir-lang/noir#6458)
([b8bace9](b8bace9))
* Make bytecode part of artifact hash preimage again
([#9771](#9771))
([cdabd85](cdabd85))
* Parse Slice type in SSa (noir-lang/noir#6507)
([b8bace9](b8bace9))
* Perform arithmetic simplification through `CheckedCast`
(noir-lang/noir#6502)
([b8bace9](b8bace9))
* Potential e2e-p2p fix
([#10094](#10094))
([820bcc6](820bcc6))
* Prover-agent.yaml syntax
([#10131](#10131))
([a238fe6](a238fe6))
* Remove src build from doc build flow
([#10127](#10127))
([fbfe1b1](fbfe1b1))
* Revert "feat: integrate base fee computation into rollup"
([#10166](#10166))
([1a207f5](1a207f5))
* Right shift is not a regular division
(noir-lang/noir#6400)
([b8bace9](b8bace9))
* **sea:** Mem2reg to treat block input references as alias
(noir-lang/noir#6452)
([b8bace9](b8bace9))
* Set local_module before elaborating each trait
(noir-lang/noir#6506)
([b8bace9](b8bace9))
* Sorting artifact props and members in metadata
([#9772](#9772))
([aba568a](aba568a))
* **ssa:** Change array_set to not mutate slices coming from function
inputs (noir-lang/noir#6463)
([b8bace9](b8bace9))
* **ssa:** Resolve value IDs in terminator before comparing to array
(noir-lang/noir#6448)
([b8bace9](b8bace9))
* Strip wasm debug
([#9987](#9987))
([62a6b66](62a6b66))
* Take blackbox function outputs into account when merging expressions
(noir-lang/noir#6532)
([b8bace9](b8bace9))
* **tests:** Prevent EOF error while running test programs
(noir-lang/noir#6455)
([b8bace9](b8bace9))
* **tests:** Use a file lock as well as a mutex to isolate tests cases
(noir-lang/noir#6508)
([b8bace9](b8bace9))
* Treat all parameters as possible aliases of each other
(noir-lang/noir#6477)
([b8bace9](b8bace9))
* Zero index is not always 0
([#10135](#10135))
([bbac3d9](bbac3d9))


### Miscellaneous

* Add `Instruction::MakeArray` to SSA
(noir-lang/noir#6071)
([b8bace9](b8bace9))
* Added test showcasing performance regression
(noir-lang/noir#6566)
([b8bace9](b8bace9))
* **avm:** Remove initialization for non-derived polynomials
([#10103](#10103))
([c6fdf4b](c6fdf4b)),
closes
[#10096](#10096)
* Bump rust dependencies (noir-lang/noir#6482)
([b8bace9](b8bace9))
* **ci:** Bump mac github runner image to `macos-14`
(noir-lang/noir#6545)
([b8bace9](b8bace9))
* **ci:** Fix cargo deny (noir-lang/noir#6501)
([b8bace9](b8bace9))
* Convert some tests to use SSA parser
(noir-lang/noir#6543)
([b8bace9](b8bace9))
* Delete stray todos
([#10112](#10112))
([cc4139a](cc4139a))
* Do not run e2e-2-pxes along with e2e pxe test
([#10155](#10155))
([f0f8d22](f0f8d22))
* **docs:** Update How to Oracles
(noir-lang/noir#5675)
([b8bace9](b8bace9))
* Embed package name in logs
(noir-lang/noir#6564)
([b8bace9](b8bace9))
* Fast epoch building test
([#10045](#10045))
([fb791a2](fb791a2)),
closes
[#9809](#9809)
* Fix pool metrics
([#9652](#9652))
([233b387](233b387))
* Fix spartan deploy script
([#10078](#10078))
([368ac8b](368ac8b))
* Initial draft of testnet-runbook
([#10085](#10085))
([598c1b1](598c1b1))
* Lower throughput of ebs disks
([#9997](#9997))
([698cd3d](698cd3d))
* Make tests not silent if DEBUG set
([#10130](#10130))
([95e8406](95e8406))
* Move tests for arithmetic generics closer to the code
(noir-lang/noir#6497)
([b8bace9](b8bace9))
* Optimise polynomial initialisation
([#10073](#10073))
([e608742](e608742))
* Parse negatives in SSA parser
(noir-lang/noir#6510)
([b8bace9](b8bace9))
* Proptest for `canonicalize` on infix type expressions
(noir-lang/noir#6269)
([b8bace9](b8bace9))
* Pull across
noir-lang/noir[#6558](#6558)
([#10037](#10037))
([3014a69](3014a69))
* Pull out sync changes
([#10072](#10072))
([06ef61e](06ef61e))
* Release Noir(0.38.0) (noir-lang/noir#6422)
([b8bace9](b8bace9))
* Release Noir(0.39.0) (noir-lang/noir#6484)
([b8bace9](b8bace9))
* Remove handling of duplicates from the note hash tree
([#10016](#10016))
([ece1d45](ece1d45))
* Remove PublicExecutor
([#10028](#10028))
([9643dcd](9643dcd))
* Remove separate acvm versioning
(noir-lang/noir#6561)
([b8bace9](b8bace9))
* Remove some `_else_condition` tech debt
(noir-lang/noir#6522)
([b8bace9](b8bace9))
* Remove some unnecessary clones
([#10049](#10049))
([8628b32](8628b32))
* Remove unused imports
([#10134](#10134))
([8dbeda0](8dbeda0))
* Remove unused methods from implicit numeric generics
(noir-lang/noir#6541)
([b8bace9](b8bace9))
* Replace relative paths to noir-protocol-circuits
([ccf6695](ccf6695))
* Replace relative paths to noir-protocol-circuits
([fa225a2](fa225a2))
* Replace relative paths to noir-protocol-circuits
([98387b8](98387b8))
* Replace relative paths to noir-protocol-circuits
([94753d4](94753d4))
* Restructure `noirc_evaluator` crate
(noir-lang/noir#6534)
([b8bace9](b8bace9))
* Revamp attributes (noir-lang/noir#6424)
([b8bace9](b8bace9))
* Reverse ssa parser diff order
(noir-lang/noir#6511)
([b8bace9](b8bace9))
* Revert
[#6375](#6375)
(noir-lang/noir#6552)
([b8bace9](b8bace9))
* Skip emitting public bytecode
([#10009](#10009))
([280d169](280d169))
* Split path and import lookups
(noir-lang/noir#6430)
([b8bace9](b8bace9))
* **ssa:** Skip array_set pass for Brillig functions
(noir-lang/noir#6513)
([b8bace9](b8bace9))
* Switch to 1.0.0-beta versioning
(noir-lang/noir#6503)
([b8bace9](b8bace9))
* **test:** More descriptive labels in test matrix
(noir-lang/noir#6542)
([b8bace9](b8bace9))
* **test:** Remove duplicate brillig tests
(noir-lang/noir#6523)
([b8bace9](b8bace9))
* **test:** Run test matrix on test_programs
(noir-lang/noir#6429)
([b8bace9](b8bace9))
* Update example to show how to split public inputs in bash
(noir-lang/noir#6472)
([b8bace9](b8bace9))


### Documentation

* Add docs to enable multi-threading in bb.js
([#10064](#10064))
([8b4ebd1](8b4ebd1))
* Re-arrange references section
([#10070](#10070))
([375482f](375482f))
</details>

<details><summary>barretenberg: 0.64.0</summary>

##
[0.64.0](barretenberg-v0.63.1...barretenberg-v0.64.0)
(2024-11-25)


### Features

* **avm:** Error handling for address resolution
([#9994](#9994))
([ceaeda5](ceaeda5)),
closes
[#9131](#9131)
* Improve trace utilization tracking
([#10008](#10008))
([4c560ab](4c560ab))
* Improved data storage metrics
([#10020](#10020))
([c6ab0c9](c6ab0c9))
* Insert public data tree leaves one by one
([#9989](#9989))
([a2c0701](a2c0701))
* IPA accumulators setup for Rollup
([#10040](#10040))
([4129e27](4129e27))
* Single commitment key allocation in CIVC
([#9974](#9974))
([a0551ee](a0551ee))


### Bug Fixes

* Strip wasm debug
([#9987](#9987))
([62a6b66](62a6b66))
* Zero index is not always 0
([#10135](#10135))
([bbac3d9](bbac3d9))


### Miscellaneous

* **avm:** Remove initialization for non-derived polynomials
([#10103](#10103))
([c6fdf4b](c6fdf4b)),
closes
[#10096](#10096)
* Delete stray todos
([#10112](#10112))
([cc4139a](cc4139a))
* Optimise polynomial initialisation
([#10073](#10073))
([e608742](e608742))
* Remove handling of duplicates from the note hash tree
([#10016](#10016))
([ece1d45](ece1d45))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
AztecBot added a commit to AztecProtocol/barretenberg that referenced this pull request Nov 26, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>aztec-package: 0.64.0</summary>

##
[0.64.0](AztecProtocol/aztec-packages@aztec-package-v0.63.1...aztec-package-v0.64.0)
(2024-11-25)


### Features

* Unify anvil versions
([#10143](AztecProtocol/aztec-packages#10143))
([adae143](AztecProtocol/aztec-packages@adae143))


### Miscellaneous

* Fast epoch building test
([#10045](AztecProtocol/aztec-packages#10045))
([fb791a2](AztecProtocol/aztec-packages@fb791a2)),
closes
[#9809](AztecProtocol/aztec-packages#9809)
</details>

<details><summary>barretenberg.js: 0.64.0</summary>

##
[0.64.0](AztecProtocol/aztec-packages@barretenberg.js-v0.63.1...barretenberg.js-v0.64.0)
(2024-11-25)


### Features

* Single commitment key allocation in CIVC
([#9974](AztecProtocol/aztec-packages#9974))
([a0551ee](AztecProtocol/aztec-packages@a0551ee))


### Bug Fixes

* Strip wasm debug
([#9987](AztecProtocol/aztec-packages#9987))
([62a6b66](AztecProtocol/aztec-packages@62a6b66))


### Documentation

* Add docs to enable multi-threading in bb.js
([#10064](AztecProtocol/aztec-packages#10064))
([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1))
</details>

<details><summary>aztec-packages: 0.64.0</summary>

##
[0.64.0](AztecProtocol/aztec-packages@aztec-packages-v0.63.1...aztec-packages-v0.64.0)
(2024-11-25)


### ⚠ BREAKING CHANGES

* rename SharedMutable methods
([#10165](AztecProtocol/aztec-packages#10165))
* add AztecAddress.isValid and make random be valid
([#10081](AztecProtocol/aztec-packages#10081))
* Always Check Arithmetic Generics at Monomorphization
(noir-lang/noir#6329)

### Features

* Add AztecAddress.isValid and make random be valid
([#10081](AztecProtocol/aztec-packages#10081))
([fbdf6b0](AztecProtocol/aztec-packages@fbdf6b0))
* Always Check Arithmetic Generics at Monomorphization
(noir-lang/noir#6329)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **avm:** Error handling for address resolution
([#9994](AztecProtocol/aztec-packages#9994))
([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)),
closes
[#9131](AztecProtocol/aztec-packages#9131)
* **avm:** Integrate ephemeral trees
([#9917](AztecProtocol/aztec-packages#9917))
([fbe1128](AztecProtocol/aztec-packages@fbe1128))
* **avm:** More efficient low leaf search
([#9870](AztecProtocol/aztec-packages#9870))
([f7bbd83](AztecProtocol/aztec-packages@f7bbd83))
* Avoid unnecessary ssa passes while loop unrolling
(noir-lang/noir#6509)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Bb-prover AVM test crafts a test TX & properly plumbs
AvmCircuitPublicInputs to witgen
([#10083](AztecProtocol/aztec-packages#10083))
([55564aa](AztecProtocol/aztec-packages@55564aa))
* Calls to non-existent contracts in the AVM simulator return failure
([#10051](AztecProtocol/aztec-packages#10051))
([133384c](AztecProtocol/aztec-packages@133384c))
* Compute base-fee on l1
([#9986](AztecProtocol/aztec-packages#9986))
([4ab46fe](AztecProtocol/aztec-packages@4ab46fe))
* Deduplicate instructions across blocks
(noir-lang/noir#6499)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* E2e metrics reporting
([#9776](AztecProtocol/aztec-packages#9776))
([9cab121](AztecProtocol/aztec-packages@9cab121))
* Gating test
([#9918](AztecProtocol/aztec-packages#9918))
([c6b65ab](AztecProtocol/aztec-packages@c6b65ab)),
closes
[#9883](AztecProtocol/aztec-packages#9883)
* Google Kubernetes Engine - Prover Agent Spot Node Support
([#10031](AztecProtocol/aztec-packages#10031))
([4d6da9b](AztecProtocol/aztec-packages@4d6da9b))
* Improve trace utilization tracking
([#10008](AztecProtocol/aztec-packages#10008))
([4c560ab](AztecProtocol/aztec-packages@4c560ab))
* Improved data storage metrics
([#10020](AztecProtocol/aztec-packages#10020))
([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9))
* Initial gas oracle
([#9952](AztecProtocol/aztec-packages#9952))
([e740d42](AztecProtocol/aztec-packages@e740d42))
* Insert public data tree leaves one by one
([#9989](AztecProtocol/aztec-packages#9989))
([a2c0701](AztecProtocol/aztec-packages@a2c0701))
* Integrate base fee computation into rollup
([#10076](AztecProtocol/aztec-packages#10076))
([3417b22](AztecProtocol/aztec-packages@3417b22))
* IPA accumulators setup for Rollup
([#10040](AztecProtocol/aztec-packages#10040))
([4129e27](AztecProtocol/aztec-packages@4129e27))
* New proving agent
([#9999](AztecProtocol/aztec-packages#9999))
([9ad24dd](AztecProtocol/aztec-packages@9ad24dd))
* **profiler:** Reduce memory in Brillig execution flamegraph
(noir-lang/noir#6538)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Public network deployments
([#10089](AztecProtocol/aztec-packages#10089))
([570f70a](AztecProtocol/aztec-packages@570f70a))
* PXE handles reorgs
([#9913](AztecProtocol/aztec-packages#9913))
([aafef9c](AztecProtocol/aztec-packages@aafef9c))
* Rename SharedMutable methods
([#10165](AztecProtocol/aztec-packages#10165))
([4fd70e8](AztecProtocol/aztec-packages@4fd70e8))
* Reset pxe indexes
([#10093](AztecProtocol/aztec-packages#10093))
([3848c01](AztecProtocol/aztec-packages@3848c01))
* Simplify constant MSM calls in SSA
(noir-lang/noir#6547)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Single commitment key allocation in CIVC
([#9974](AztecProtocol/aztec-packages#9974))
([a0551ee](AztecProtocol/aztec-packages@a0551ee))
* SSA parser (noir-lang/noir#6489)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **ssa:** Unroll small loops in brillig
(noir-lang/noir#6505)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Sync from aztec-packages (noir-lang/noir#6557)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Sync tags as sender
([#10071](AztecProtocol/aztec-packages#10071))
([122d2e4](AztecProtocol/aztec-packages@122d2e4))
* Terraform for release deployments
([#10091](AztecProtocol/aztec-packages#10091))
([dc528da](AztecProtocol/aztec-packages@dc528da)),
closes
[#10144](AztecProtocol/aztec-packages#10144)
* Trait aliases (noir-lang/noir#6431)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Unify anvil versions
([#10143](AztecProtocol/aztec-packages#10143))
([adae143](AztecProtocol/aztec-packages@adae143))
* Updating consensus payload
([#10017](AztecProtocol/aztec-packages#10017))
([85c8a3b](AztecProtocol/aztec-packages@85c8a3b))
* Use a full `BlackBoxFunctionSolver` implementation when execution
brillig during acirgen (noir-lang/noir#6481)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **val:** Reex
([#9768](AztecProtocol/aztec-packages#9768))
([2e58f0a](AztecProtocol/aztec-packages@2e58f0a))


### Bug Fixes

* Add curl to aztec nargo container
([#10173](AztecProtocol/aztec-packages#10173))
([2add6ae](AztecProtocol/aztec-packages@2add6ae))
* Add zod parsing for generated contract artifacts
([#9905](AztecProtocol/aztec-packages#9905))
([e1ef998](AztecProtocol/aztec-packages@e1ef998))
* Allow range checks to be performed within the comptime intepreter
(noir-lang/noir#6514)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Allow unwinding multiple empty blocks
([#10084](AztecProtocol/aztec-packages#10084))
([ec34442](AztecProtocol/aztec-packages@ec34442))
* Boxes
([#10122](AztecProtocol/aztec-packages#10122))
([10df7c5](AztecProtocol/aztec-packages@10df7c5))
* Check infix expression is valid in program input
(noir-lang/noir#6450)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Disallow `#[test]` on associated functions
(noir-lang/noir#6449)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Disallow contract registration in pxe of contract with duplicate
private function selectors
([#9773](AztecProtocol/aztec-packages#9773))
([2587ad5](AztecProtocol/aztec-packages@2587ad5))
* Discard optimisation that would change execution ordering or that is
related to call outputs (noir-lang/noir#6461)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Do a shallow follow_bindings before unification
(noir-lang/noir#6558)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **docs:** Fix broken links in oracles doc
(noir-lang/noir#6488)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Don't crash on AsTraitPath with empty path
(noir-lang/noir#6454)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Fix poor handling of aliased references in flattening pass causing
some values to be zeroed (noir-lang/noir#6434)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Let formatter respect newlines between comments
(noir-lang/noir#6458)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Make bytecode part of artifact hash preimage again
([#9771](AztecProtocol/aztec-packages#9771))
([cdabd85](AztecProtocol/aztec-packages@cdabd85))
* Parse Slice type in SSa (noir-lang/noir#6507)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Perform arithmetic simplification through `CheckedCast`
(noir-lang/noir#6502)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Potential e2e-p2p fix
([#10094](AztecProtocol/aztec-packages#10094))
([820bcc6](AztecProtocol/aztec-packages@820bcc6))
* Prover-agent.yaml syntax
([#10131](AztecProtocol/aztec-packages#10131))
([a238fe6](AztecProtocol/aztec-packages@a238fe6))
* Remove src build from doc build flow
([#10127](AztecProtocol/aztec-packages#10127))
([fbfe1b1](AztecProtocol/aztec-packages@fbfe1b1))
* Revert "feat: integrate base fee computation into rollup"
([#10166](AztecProtocol/aztec-packages#10166))
([1a207f5](AztecProtocol/aztec-packages@1a207f5))
* Right shift is not a regular division
(noir-lang/noir#6400)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **sea:** Mem2reg to treat block input references as alias
(noir-lang/noir#6452)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Set local_module before elaborating each trait
(noir-lang/noir#6506)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Sorting artifact props and members in metadata
([#9772](AztecProtocol/aztec-packages#9772))
([aba568a](AztecProtocol/aztec-packages@aba568a))
* **ssa:** Change array_set to not mutate slices coming from function
inputs (noir-lang/noir#6463)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **ssa:** Resolve value IDs in terminator before comparing to array
(noir-lang/noir#6448)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Strip wasm debug
([#9987](AztecProtocol/aztec-packages#9987))
([62a6b66](AztecProtocol/aztec-packages@62a6b66))
* Take blackbox function outputs into account when merging expressions
(noir-lang/noir#6532)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **tests:** Prevent EOF error while running test programs
(noir-lang/noir#6455)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **tests:** Use a file lock as well as a mutex to isolate tests cases
(noir-lang/noir#6508)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Treat all parameters as possible aliases of each other
(noir-lang/noir#6477)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Zero index is not always 0
([#10135](AztecProtocol/aztec-packages#10135))
([bbac3d9](AztecProtocol/aztec-packages@bbac3d9))


### Miscellaneous

* Add `Instruction::MakeArray` to SSA
(noir-lang/noir#6071)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Added test showcasing performance regression
(noir-lang/noir#6566)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **avm:** Remove initialization for non-derived polynomials
([#10103](AztecProtocol/aztec-packages#10103))
([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)),
closes
[#10096](AztecProtocol/aztec-packages#10096)
* Bump rust dependencies (noir-lang/noir#6482)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **ci:** Bump mac github runner image to `macos-14`
(noir-lang/noir#6545)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **ci:** Fix cargo deny (noir-lang/noir#6501)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Convert some tests to use SSA parser
(noir-lang/noir#6543)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Delete stray todos
([#10112](AztecProtocol/aztec-packages#10112))
([cc4139a](AztecProtocol/aztec-packages@cc4139a))
* Do not run e2e-2-pxes along with e2e pxe test
([#10155](AztecProtocol/aztec-packages#10155))
([f0f8d22](AztecProtocol/aztec-packages@f0f8d22))
* **docs:** Update How to Oracles
(noir-lang/noir#5675)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Embed package name in logs
(noir-lang/noir#6564)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Fast epoch building test
([#10045](AztecProtocol/aztec-packages#10045))
([fb791a2](AztecProtocol/aztec-packages@fb791a2)),
closes
[#9809](AztecProtocol/aztec-packages#9809)
* Fix pool metrics
([#9652](AztecProtocol/aztec-packages#9652))
([233b387](AztecProtocol/aztec-packages@233b387))
* Fix spartan deploy script
([#10078](AztecProtocol/aztec-packages#10078))
([368ac8b](AztecProtocol/aztec-packages@368ac8b))
* Initial draft of testnet-runbook
([#10085](AztecProtocol/aztec-packages#10085))
([598c1b1](AztecProtocol/aztec-packages@598c1b1))
* Lower throughput of ebs disks
([#9997](AztecProtocol/aztec-packages#9997))
([698cd3d](AztecProtocol/aztec-packages@698cd3d))
* Make tests not silent if DEBUG set
([#10130](AztecProtocol/aztec-packages#10130))
([95e8406](AztecProtocol/aztec-packages@95e8406))
* Move tests for arithmetic generics closer to the code
(noir-lang/noir#6497)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Optimise polynomial initialisation
([#10073](AztecProtocol/aztec-packages#10073))
([e608742](AztecProtocol/aztec-packages@e608742))
* Parse negatives in SSA parser
(noir-lang/noir#6510)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Proptest for `canonicalize` on infix type expressions
(noir-lang/noir#6269)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Pull across
noir-lang/noir[#6558](AztecProtocol/aztec-packages#6558)
([#10037](AztecProtocol/aztec-packages#10037))
([3014a69](AztecProtocol/aztec-packages@3014a69))
* Pull out sync changes
([#10072](AztecProtocol/aztec-packages#10072))
([06ef61e](AztecProtocol/aztec-packages@06ef61e))
* Release Noir(0.38.0) (noir-lang/noir#6422)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Release Noir(0.39.0) (noir-lang/noir#6484)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Remove handling of duplicates from the note hash tree
([#10016](AztecProtocol/aztec-packages#10016))
([ece1d45](AztecProtocol/aztec-packages@ece1d45))
* Remove PublicExecutor
([#10028](AztecProtocol/aztec-packages#10028))
([9643dcd](AztecProtocol/aztec-packages@9643dcd))
* Remove separate acvm versioning
(noir-lang/noir#6561)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Remove some `_else_condition` tech debt
(noir-lang/noir#6522)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Remove some unnecessary clones
([#10049](AztecProtocol/aztec-packages#10049))
([8628b32](AztecProtocol/aztec-packages@8628b32))
* Remove unused imports
([#10134](AztecProtocol/aztec-packages#10134))
([8dbeda0](AztecProtocol/aztec-packages@8dbeda0))
* Remove unused methods from implicit numeric generics
(noir-lang/noir#6541)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Replace relative paths to noir-protocol-circuits
([ccf6695](AztecProtocol/aztec-packages@ccf6695))
* Replace relative paths to noir-protocol-circuits
([fa225a2](AztecProtocol/aztec-packages@fa225a2))
* Replace relative paths to noir-protocol-circuits
([98387b8](AztecProtocol/aztec-packages@98387b8))
* Replace relative paths to noir-protocol-circuits
([94753d4](AztecProtocol/aztec-packages@94753d4))
* Restructure `noirc_evaluator` crate
(noir-lang/noir#6534)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Revamp attributes (noir-lang/noir#6424)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Reverse ssa parser diff order
(noir-lang/noir#6511)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Revert
[#6375](AztecProtocol/aztec-packages#6375)
(noir-lang/noir#6552)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Skip emitting public bytecode
([#10009](AztecProtocol/aztec-packages#10009))
([280d169](AztecProtocol/aztec-packages@280d169))
* Split path and import lookups
(noir-lang/noir#6430)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **ssa:** Skip array_set pass for Brillig functions
(noir-lang/noir#6513)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Switch to 1.0.0-beta versioning
(noir-lang/noir#6503)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **test:** More descriptive labels in test matrix
(noir-lang/noir#6542)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **test:** Remove duplicate brillig tests
(noir-lang/noir#6523)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* **test:** Run test matrix on test_programs
(noir-lang/noir#6429)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))
* Update example to show how to split public inputs in bash
(noir-lang/noir#6472)
([b8bace9](AztecProtocol/aztec-packages@b8bace9))


### Documentation

* Add docs to enable multi-threading in bb.js
([#10064](AztecProtocol/aztec-packages#10064))
([8b4ebd1](AztecProtocol/aztec-packages@8b4ebd1))
* Re-arrange references section
([#10070](AztecProtocol/aztec-packages#10070))
([375482f](AztecProtocol/aztec-packages@375482f))
</details>

<details><summary>barretenberg: 0.64.0</summary>

##
[0.64.0](AztecProtocol/aztec-packages@barretenberg-v0.63.1...barretenberg-v0.64.0)
(2024-11-25)


### Features

* **avm:** Error handling for address resolution
([#9994](AztecProtocol/aztec-packages#9994))
([ceaeda5](AztecProtocol/aztec-packages@ceaeda5)),
closes
[#9131](AztecProtocol/aztec-packages#9131)
* Improve trace utilization tracking
([#10008](AztecProtocol/aztec-packages#10008))
([4c560ab](AztecProtocol/aztec-packages@4c560ab))
* Improved data storage metrics
([#10020](AztecProtocol/aztec-packages#10020))
([c6ab0c9](AztecProtocol/aztec-packages@c6ab0c9))
* Insert public data tree leaves one by one
([#9989](AztecProtocol/aztec-packages#9989))
([a2c0701](AztecProtocol/aztec-packages@a2c0701))
* IPA accumulators setup for Rollup
([#10040](AztecProtocol/aztec-packages#10040))
([4129e27](AztecProtocol/aztec-packages@4129e27))
* Single commitment key allocation in CIVC
([#9974](AztecProtocol/aztec-packages#9974))
([a0551ee](AztecProtocol/aztec-packages@a0551ee))


### Bug Fixes

* Strip wasm debug
([#9987](AztecProtocol/aztec-packages#9987))
([62a6b66](AztecProtocol/aztec-packages@62a6b66))
* Zero index is not always 0
([#10135](AztecProtocol/aztec-packages#10135))
([bbac3d9](AztecProtocol/aztec-packages@bbac3d9))


### Miscellaneous

* **avm:** Remove initialization for non-derived polynomials
([#10103](AztecProtocol/aztec-packages#10103))
([c6fdf4b](AztecProtocol/aztec-packages@c6fdf4b)),
closes
[#10096](AztecProtocol/aztec-packages#10096)
* Delete stray todos
([#10112](AztecProtocol/aztec-packages#10112))
([cc4139a](AztecProtocol/aztec-packages@cc4139a))
* Optimise polynomial initialisation
([#10073](AztecProtocol/aztec-packages#10073))
([e608742](AztecProtocol/aztec-packages@e608742))
* Remove handling of duplicates from the note hash tree
([#10016](AztecProtocol/aztec-packages#10016))
([ece1d45](AztecProtocol/aztec-packages@ece1d45))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
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.

keccakf1600 instructions aren't being deduplicated as expected Add MakeArray instruction to the ssa refactor
6 participants