-
Notifications
You must be signed in to change notification settings - Fork 234
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[1 changes] feat(optimization): Follow past
array_set
s when optimiz…
…ing `array_get`s (noir-lang/noir#5772) feat: user `super::` in LSP autocompletion if possible (noir-lang/noir#5751) fix: unconstrained fn mismatch is now a warning (noir-lang/noir#5764) feat(perf): mem2reg function state for value loads to optimize across blocks (noir-lang/noir#5757) feat: add `Expr::as_array`, `Expr::as_repeated_element_array` and same for slice (noir-lang/noir#5750) chore: Add Brillig loop bytecode size regression and update noir-gates-diff report (noir-lang/noir#5747) feat: fault-tolerant parsing of `fn` and `impl` (noir-lang/noir#5753) fix: add missing trait impls for integer types to stdlib (noir-lang/noir#5738) chore: refactor ACIR function IDs from raw integers to struct (noir-lang/noir#5748) feat: (LSP) suggest names that match any part of the current prefix (noir-lang/noir#5752) feat: LSP auto-import completion (noir-lang/noir#5741) fix: Allow comptime code to use break without also being `unconstrained` (noir-lang/noir#5744) feat: add `Expr::as_any_integer` and `Expr::as_member_access` (noir-lang/noir#5742) chore: clarify Field use (noir-lang/noir#5740) feat: add `Expr::as_binary_op` (noir-lang/noir#5734) chore(docs): expanding solidity verifier chain list (noir-lang/noir#5587) chore: apply some new lints across workspace (noir-lang/noir#5736) feat: suggest trait methods in LSP completion (noir-lang/noir#5735) feat: LSP autocomplete constructor fields (noir-lang/noir#5732) feat: add `Expr::as_unary` (noir-lang/noir#5731) chore: count brillig opcodes in nargo info (noir-lang/noir#5189) feat: suggest tuple fields in LSP completion (noir-lang/noir#5730) feat: add `Expr::as_bool` (noir-lang/noir#5729) feat: add `Expr` methods: `as_tuple`, `as_parenthesized`, `as_index`, `as_if` (noir-lang/noir#5726) feat: LSP signature help (noir-lang/noir#5725) chore: split LSP completion.rs into several files (noir-lang/noir#5723) feat: add `TraitImpl::trait_generic_args` and `TraitImpl::methods` (noir-lang/noir#5722) fix: let LSP autocompletion work in more contexts (noir-lang/noir#5719) fix(frontend): Continue type check if we are missing an unsafe block (noir-lang/noir#5720) feat: add `unsafe` blocks for calling unconstrained code from constrained functions (noir-lang/noir#4429)
- Loading branch information
Showing
250 changed files
with
7,234 additions
and
2,813 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
0ebf1fee471641db0bffcc8307d20327613c78c1 | ||
090501dfaf7c569b1aa944856bf68ad663572ae4 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
name: Report Brillig bytecode size diff | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
jobs: | ||
build-nargo: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
target: [x86_64-unknown-linux-gnu] | ||
|
||
steps: | ||
- name: Checkout Noir repo | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup toolchain | ||
uses: dtolnay/rust-toolchain@1.74.1 | ||
|
||
- uses: Swatinem/rust-cache@v2 | ||
with: | ||
key: ${{ matrix.target }} | ||
cache-on-failure: true | ||
save-if: ${{ github.event_name != 'merge_group' }} | ||
|
||
- name: Build Nargo | ||
run: cargo build --package nargo_cli --release | ||
|
||
- name: Package artifacts | ||
run: | | ||
mkdir dist | ||
cp ./target/release/nargo ./dist/nargo | ||
7z a -ttar -so -an ./dist/* | 7z a -si ./nargo-x86_64-unknown-linux-gnu.tar.gz | ||
- name: Upload artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: nargo | ||
path: ./dist/* | ||
retention-days: 3 | ||
|
||
compare_brillig_bytecode_size_reports: | ||
needs: [build-nargo] | ||
runs-on: ubuntu-latest | ||
permissions: | ||
pull-requests: write | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Download nargo binary | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: nargo | ||
path: ./nargo | ||
|
||
- name: Set nargo on PATH | ||
run: | | ||
nargo_binary="${{ github.workspace }}/nargo/nargo" | ||
chmod +x $nargo_binary | ||
echo "$(dirname $nargo_binary)" >> $GITHUB_PATH | ||
export PATH="$PATH:$(dirname $nargo_binary)" | ||
nargo -V | ||
- name: Generate Brillig bytecode size report | ||
working-directory: ./test_programs | ||
run: | | ||
chmod +x gates_report_brillig.sh | ||
./gates_report_brillig.sh | ||
mv gates_report_brillig.json ../gates_report_brillig.json | ||
- name: Compare Brillig bytecode size reports | ||
id: brillig_bytecode_diff | ||
uses: noir-lang/noir-gates-diff@3fb844067b25d1b59727ea600b614503b33503f4 | ||
with: | ||
report: gates_report_brillig.json | ||
header: | | ||
# Changes to Brillig bytecode sizes | ||
brillig_report: true | ||
summaryQuantile: 0.9 # only display the 10% most significant bytecode size diffs in the summary (defaults to 20%) | ||
|
||
- name: Add bytecode size diff to sticky comment | ||
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target' | ||
uses: marocchino/sticky-pull-request-comment@v2 | ||
with: | ||
header: brillig | ||
# delete the comment in case changes no longer impact brillig bytecode sizes | ||
delete: ${{ !steps.brillig_bytecode_diff.outputs.markdown }} | ||
message: ${{ steps.brillig_bytecode_diff.outputs.markdown }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
noir/noir-repo/acvm-repo/acir/src/circuit/opcodes/function_id.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
use serde::{Deserialize, Serialize}; | ||
|
||
#[derive(Clone, Copy, PartialEq, Eq, Debug, Serialize, Deserialize, Hash)] | ||
#[serde(transparent)] | ||
pub struct AcirFunctionId(pub u32); | ||
|
||
impl AcirFunctionId { | ||
pub fn as_usize(&self) -> usize { | ||
self.0 as usize | ||
} | ||
} | ||
|
||
impl std::fmt::Display for AcirFunctionId { | ||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { | ||
write!(f, "{}", self.0) | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.