Go to file T
Code
This branch is 0 commits ahead of and 8 commits behind trunk.
Contribute
This branch is 0 commits ahead of trunk.

Open a pull request to contribute your changes upstream.

Compare

Bench Fixtures

This directory is the long-term home for bench-owned reusable inputs.

The first afs-tests slice still references the legacy test_programs/ corpus directly so we can migrate coverage into suites quickly without losing the existing compiler smoke tests. New shared fixtures should land here, and later sprints will move legacy inputs across when the suite layout settles.

The frontend corpus now lives under fixtures/frontend/ with dedicated subdirectories for preprocess, lexer, parser, and sema.

IR and optimizer suites currently lean on the shared test_programs/ corpus plus a few focused bench fixtures while the middle-end coverage grows.

Sprint 5 adds fixtures/backend/ for backend-and-object-facing programs that exercise machine IR, register allocation, assembly emission, wrapper generation, and Mach-O snapshot assertions.

Sprint 6 begins carving stable runtime programs into fixtures/runtime/ so targeted suites can stop depending on the surrounding parent repo layout. The runtime-completion, runtime-control-flow, and runtime-stateful families now live there as bench-owned inputs, along with the runtime-behavior slice (mixed_types, where_construct, derived_type_basic, and string_fixed).

Sprint 7 begins carving authored module graphs into fixtures/modules/ so the bench can model ordered multi-file inputs instead of only isolated sources. That corpus now covers module-use chains, renaming, module procedures, and an early submodule probe, plus visibility, fan-in, re-export, and diamond-style dependency graph families, along with rename-across-hop export-surface probes and mixed-ONLY/collision graph shapes. Larger layered graphs with reused dependencies and multiple consumer leaves live there now too.