From 51362b37fd7c50f4f5824ca0ce959f821c74c3c1 Mon Sep 17 00:00:00 2001 From: Ary Borenszweig Date: Fri, 24 Oct 2025 11:34:38 -0300 Subject: [PATCH 1/2] chore(ACIR): use u32::MAX for PLACEHOLDER_BRILLIG_INDEX --- .../acir/acir_context/generated_acir/brillig_directive.rs | 3 +-- .../src/acir/acir_context/generated_acir/mod.rs | 5 ++++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs index 9fedb526d55..4f653768497 100644 --- a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs +++ b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs @@ -9,12 +9,11 @@ use acvm::acir::{ use crate::brillig::brillig_ir::artifact::GeneratedBrillig; -// TODO(https://github.com/noir-lang/noir/issues/10256): Use `Option` in place of `PLACEHOLDER_BRILLIG_INDEX` /// Brillig calls such as for the Brillig std lib are resolved only after code generation is finished. /// This index should be used when adding a Brillig call during code generation. /// Code generation should then keep track of that unresolved call opcode which will be resolved with the /// correct function index after code generation. -pub(crate) const PLACEHOLDER_BRILLIG_INDEX: BrilligFunctionId = BrilligFunctionId(0); +pub(crate) const PLACEHOLDER_BRILLIG_INDEX: BrilligFunctionId = BrilligFunctionId(std::u32::MAX); #[derive(Debug, Clone)] pub(crate) struct BrilligStdLib { diff --git a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs index 301a177999f..0425874e4aa 100644 --- a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs +++ b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs @@ -641,7 +641,10 @@ impl GeneratedAcir { }; match &mut self.opcodes[acir_index] { - AcirOpcode::BrilligCall { id, .. } => *id = brillig_function_index, + AcirOpcode::BrilligCall { id, .. } => { + assert!(*id == PLACEHOLDER_BRILLIG_INDEX, "expected placeholder brillig index"); + *id = brillig_function_index + } _ => panic!("expected brillig call opcode"), } } From 37c20e4d0e493fe478cc1704a8c1529c3befde60 Mon Sep 17 00:00:00 2001 From: Ary Borenszweig Date: Fri, 24 Oct 2025 11:41:13 -0300 Subject: [PATCH 2/2] Clippy --- .../src/acir/acir_context/generated_acir/brillig_directive.rs | 2 +- .../noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs index 4f653768497..b9b5878c789 100644 --- a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs +++ b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/brillig_directive.rs @@ -13,7 +13,7 @@ use crate::brillig::brillig_ir::artifact::GeneratedBrillig; /// This index should be used when adding a Brillig call during code generation. /// Code generation should then keep track of that unresolved call opcode which will be resolved with the /// correct function index after code generation. -pub(crate) const PLACEHOLDER_BRILLIG_INDEX: BrilligFunctionId = BrilligFunctionId(std::u32::MAX); +pub(crate) const PLACEHOLDER_BRILLIG_INDEX: BrilligFunctionId = BrilligFunctionId(u32::MAX); #[derive(Debug, Clone)] pub(crate) struct BrilligStdLib { diff --git a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs index 0425874e4aa..898e5aece6e 100644 --- a/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs +++ b/compiler/noirc_evaluator/src/acir/acir_context/generated_acir/mod.rs @@ -643,7 +643,7 @@ impl GeneratedAcir { match &mut self.opcodes[acir_index] { AcirOpcode::BrilligCall { id, .. } => { assert!(*id == PLACEHOLDER_BRILLIG_INDEX, "expected placeholder brillig index"); - *id = brillig_function_index + *id = brillig_function_index; } _ => panic!("expected brillig call opcode"), }