chore: remove unreachable functions after inlining simple functions#8987
chore: remove unreachable functions after inlining simple functions#8987TomAFrench merged 5 commits intomasterfrom
Conversation
Changes to Brillig bytecode sizes
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
Changes to number of Brillig opcodes executed
🧾 Summary (10% most significant diffs)
Full diff report 👇
|
|
huh? |
|
Ah, looks like this affects the weights applied to different functions as the simple functions which are now removed would have still contributed to the weight of the functions which they called. |
compiler/noirc_evaluator/src/ssa/opt/inline_simple_functions.rs
Outdated
Show resolved
Hide resolved
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: 5759862 | Previous: 3838c69 | Ratio |
|---|---|---|---|
test_report_AztecProtocol_aztec-packages_noir-projects_noir-protocol-circuits_crates_blob |
172 s |
141 s |
1.22 |
This comment was automatically generated by workflow using github-action-benchmark.
CC: @TomAFrench
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat: Implement type suffixes (noir-lang/noir#8970) fix: add parent traits when adding trait impl where clause (noir-lang/noir#9000) fix(fuzz): Use indirection for taking `&mut` over an array element (noir-lang/noir#8992) chore: remove unreachable functions after inlining simple functions (noir-lang/noir#8987) chore: bump external pinned commits (noir-lang/noir#8990) END_COMMIT_OVERRIDE Co-authored-by: AztecBot <tech@aztecprotocol.com>
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat: Implement type suffixes (noir-lang/noir#8970) fix: add parent traits when adding trait impl where clause (noir-lang/noir#9000) fix(fuzz): Use indirection for taking `&mut` over an array element (noir-lang/noir#8992) chore: remove unreachable functions after inlining simple functions (noir-lang/noir#8987) chore: bump external pinned commits (noir-lang/noir#8990) END_COMMIT_OVERRIDE Co-authored-by: AztecBot <tech@aztecprotocol.com>
Automated pull of nightly from the [noir](https://github.com/noir-lang/noir) programming language, a dependency of Aztec. BEGIN_COMMIT_OVERRIDE feat: Implement type suffixes (noir-lang/noir#8970) fix: add parent traits when adding trait impl where clause (noir-lang/noir#9000) fix(fuzz): Use indirection for taking `&mut` over an array element (noir-lang/noir#8992) chore: remove unreachable functions after inlining simple functions (noir-lang/noir#8987) chore: bump external pinned commits (noir-lang/noir#8990) END_COMMIT_OVERRIDE Co-authored-by: AztecBot <tech@aztecprotocol.com>
Description
Problem*
Resolves
Summary*
In aztec-packages we have a glut of small functions which hang around in the SSA for a long time after being inlined. This PR integrates the
remove_unreachable_functionspass into theinline_simple_functionspass so we can remove these asap.Additional Context
Documentation*
Check one:
PR Checklist*
cargo fmton default settings.