bisect-ssa-pass

Installation
SKILL.md

Noir SSA Bisection Debugging

Use this skill when debugging SSA optimization bugs - situations where an SSA pass fails to preserve program semantics. This workflow bisects SSA passes to identify which one introduces the behavioral change.

Common scenarios:

  • Fuzzer failures: The pass_vs_prev fuzzer found a program that produces different results after some SSA pass
  • Test failures: An existing test started failing after changes to an SSA pass
  • Manual discovery: A program produces incorrect results and you suspect an optimization bug

Helper scripts are in the scripts/ directory of this skill.

Prerequisites

You need a Noir project with a Prover.toml containing inputs that trigger the suspected issue. The program should produce incorrect results or exhibit unexpected behavior when executed.

1. Compiling and Splitting SSA Passes

Compile with --show-ssa to output SSA after each optimization pass:

Installs
32
Repository
noir-lang/noir
GitHub Stars
1.3K
First Seen
Feb 5, 2026
bisect-ssa-pass — noir-lang/noir