From 665afe6f44e9fe3858e47483d38ff0fd9e244d8a Mon Sep 17 00:00:00 2001 From: jotabulacios Date: Mon, 31 Aug 2026 11:52:30 -0300 Subject: [PATCH] Skip the IR pre-capture on the riscv64 guest --- prover/src/test_utils.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/prover/src/test_utils.rs b/prover/src/test_utils.rs index d6a8b8608..3c17b2848 100644 --- a/prover/src/test_utils.rs +++ b/prover/src/test_utils.rs @@ -671,6 +671,12 @@ fn build_air + Clone + Send + Sync + 'static>( .with_name(name); // Pre-capture the constraint IR so every clone carries it (the prover's // GPU lowering and interpreter paths force it per instance otherwise). + // + // NOT on the guest: the in-VM verifier reaches `build_air` through + // `VmAirs::new` and never calls `constraint_program()`, so capturing here + // buys it nothing and costs a full IR build per AIR — measured as ~9.7% of + // the recursion guest's cycles on a real block. + #[cfg(not(target_arch = "riscv64"))] let _ = air.constraint_program(); air_prototype_cache() .lock()