fix(mem2reg): reuse existing expression and add missing alias#9664
fix(mem2reg): reuse existing expression and add missing alias#9664
Conversation
Changes to number of Brillig opcodes executed
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Changes to Brillig bytecode sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
There was a problem hiding this comment.
⚠️ Performance Alert ⚠️
Possible performance regression was detected for benchmark 'Test Suite Duration'.
Benchmark result of this commit is worse than the previous benchmark result exceeding threshold 1.20.
| Benchmark suite | Current: c5b9cab | Previous: 3906847 | Ratio |
|---|---|---|---|
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_blob |
231 s |
183 s |
1.26 |
test_report_zkpassport_noir_rsa_ |
1 s |
0 s |
+∞ |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
|
I forgot to add the Noir program as a regression test. When I added it... it failed! There was another issue. I fixed it in one way... it might introduce a small regression but doing it differently might be more complex and I don't know if it's worth it if the Container refactor will come. |
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: remove duplicated frontend tests (noir-lang/noir#9706) chore: remove playwright workaround (noir-lang/noir#9704) fix(licm): Use `Loop::header` in `Loop::is_fully_executed` (noir-lang/noir#9700) chore: show which type is invalid as program input (noir-lang/noir#9701) chore: bump deps (noir-lang/noir#9698) chore: bump external pinned commits (noir-lang/noir#9693) chore(licm): Break things up further in LICM (noir-lang/noir#9683) chore(docs): spinning out bb docs (noir-lang/noir#9402) fix(ssa)!: Signed shift overflow checks rhs < bit_size (noir-lang/noir#9685) chore: add extra bitshifts tests (noir-lang/noir#9680) feat: Propagate purities using SCCs (noir-lang/noir#9672) chore: break `NodeInterner` into chunks (noir-lang/noir#9674) fix(formatter): don't revert indentation increase after popping it (noir-lang/noir#9673) feat: hoist safe casts from loops (noir-lang/noir#9645) chore: fix clippy warnings (noir-lang/noir#9675) chore(ssa): Refactor flattening (noir-lang/noir#9663) chore(ssa): Greenlight `brillig_entry_points` and switch to centralized CallGraph (noir-lang/noir#9668) chore: add two mem2reg regression tests where references are returned (noir-lang/noir#9670) fix(mem2reg): reuse existing expression and add missing alias (noir-lang/noir#9664) chore: add tests for bounded_vec (noir-lang/noir#9576) chore: redact debug info and file maps from snapshots (noir-lang/noir#9666) chore: pull out interpreter binary evaluation logic into pure functions (noir-lang/noir#9665) feat: brillig functions can be pure if they are not entry points (noir-lang/noir#9659) END_COMMIT_OVERRIDE Co-authored-by: Tom French <15848336+TomAFrench@users.noreply.github.com>
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: remove duplicated frontend tests (noir-lang/noir#9706) chore: remove playwright workaround (noir-lang/noir#9704) fix(licm): Use `Loop::header` in `Loop::is_fully_executed` (noir-lang/noir#9700) chore: show which type is invalid as program input (noir-lang/noir#9701) chore: bump deps (noir-lang/noir#9698) chore: bump external pinned commits (noir-lang/noir#9693) chore(licm): Break things up further in LICM (noir-lang/noir#9683) chore(docs): spinning out bb docs (noir-lang/noir#9402) fix(ssa)!: Signed shift overflow checks rhs < bit_size (noir-lang/noir#9685) chore: add extra bitshifts tests (noir-lang/noir#9680) feat: Propagate purities using SCCs (noir-lang/noir#9672) chore: break `NodeInterner` into chunks (noir-lang/noir#9674) fix(formatter): don't revert indentation increase after popping it (noir-lang/noir#9673) feat: hoist safe casts from loops (noir-lang/noir#9645) chore: fix clippy warnings (noir-lang/noir#9675) chore(ssa): Refactor flattening (noir-lang/noir#9663) chore(ssa): Greenlight `brillig_entry_points` and switch to centralized CallGraph (noir-lang/noir#9668) chore: add two mem2reg regression tests where references are returned (noir-lang/noir#9670) fix(mem2reg): reuse existing expression and add missing alias (noir-lang/noir#9664) chore: add tests for bounded_vec (noir-lang/noir#9576) chore: redact debug info and file maps from snapshots (noir-lang/noir#9666) chore: pull out interpreter binary evaluation logic into pure functions (noir-lang/noir#9665) feat: brillig functions can be pure if they are not entry points (noir-lang/noir#9659) END_COMMIT_OVERRIDE
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: remove duplicated frontend tests (noir-lang/noir#9706) chore: remove playwright workaround (noir-lang/noir#9704) fix(licm): Use `Loop::header` in `Loop::is_fully_executed` (noir-lang/noir#9700) chore: show which type is invalid as program input (noir-lang/noir#9701) chore: bump deps (noir-lang/noir#9698) chore: bump external pinned commits (noir-lang/noir#9693) chore(licm): Break things up further in LICM (noir-lang/noir#9683) chore(docs): spinning out bb docs (noir-lang/noir#9402) fix(ssa)!: Signed shift overflow checks rhs < bit_size (noir-lang/noir#9685) chore: add extra bitshifts tests (noir-lang/noir#9680) feat: Propagate purities using SCCs (noir-lang/noir#9672) chore: break `NodeInterner` into chunks (noir-lang/noir#9674) fix(formatter): don't revert indentation increase after popping it (noir-lang/noir#9673) feat: hoist safe casts from loops (noir-lang/noir#9645) chore: fix clippy warnings (noir-lang/noir#9675) chore(ssa): Refactor flattening (noir-lang/noir#9663) chore(ssa): Greenlight `brillig_entry_points` and switch to centralized CallGraph (noir-lang/noir#9668) chore: add two mem2reg regression tests where references are returned (noir-lang/noir#9670) fix(mem2reg): reuse existing expression and add missing alias (noir-lang/noir#9664) chore: add tests for bounded_vec (noir-lang/noir#9576) chore: redact debug info and file maps from snapshots (noir-lang/noir#9666) chore: pull out interpreter binary evaluation logic into pure functions (noir-lang/noir#9665) feat: brillig functions can be pure if they are not entry points (noir-lang/noir#9659) END_COMMIT_OVERRIDE
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE chore: remove duplicated frontend tests (noir-lang/noir#9706) chore: remove playwright workaround (noir-lang/noir#9704) fix(licm): Use `Loop::header` in `Loop::is_fully_executed` (noir-lang/noir#9700) chore: show which type is invalid as program input (noir-lang/noir#9701) chore: bump deps (noir-lang/noir#9698) chore: bump external pinned commits (noir-lang/noir#9693) chore(licm): Break things up further in LICM (noir-lang/noir#9683) chore(docs): spinning out bb docs (noir-lang/noir#9402) fix(ssa)!: Signed shift overflow checks rhs < bit_size (noir-lang/noir#9685) chore: add extra bitshifts tests (noir-lang/noir#9680) feat: Propagate purities using SCCs (noir-lang/noir#9672) chore: break `NodeInterner` into chunks (noir-lang/noir#9674) fix(formatter): don't revert indentation increase after popping it (noir-lang/noir#9673) feat: hoist safe casts from loops (noir-lang/noir#9645) chore: fix clippy warnings (noir-lang/noir#9675) chore(ssa): Refactor flattening (noir-lang/noir#9663) chore(ssa): Greenlight `brillig_entry_points` and switch to centralized CallGraph (noir-lang/noir#9668) chore: add two mem2reg regression tests where references are returned (noir-lang/noir#9670) fix(mem2reg): reuse existing expression and add missing alias (noir-lang/noir#9664) chore: add tests for bounded_vec (noir-lang/noir#9576) chore: redact debug info and file maps from snapshots (noir-lang/noir#9666) chore: pull out interpreter binary evaluation logic into pure functions (noir-lang/noir#9665) feat: brillig functions can be pure if they are not entry points (noir-lang/noir#9659) END_COMMIT_OVERRIDE
Description
Problem
Resolves #9657
Summary
Additional Context
Documentation
Check one:
PR Checklist
cargo fmton default settings.