@@ -7,6 +7,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ ## [ 0.11.35] - 2026-06-09
11+
12+ ** In-place select + spill-cost ranking — the first VCR codegen-quality release
13+ (#209 /#242 , VCR-SEL-002).**
14+
15+ - ** In-place select (#283 ):** the stack selector's ` Select ` lowering reuses
16+ ` val2 ` 's register as the destination when ` val2 ` is a consumed temp (not a
17+ live param, distinct from cond/val1), eliding the ` EQ ` "keep val2"
18+ conditional move — one ` IT;MOV ` per qualifying select instead of two, which
19+ is what native emits for a clamp ` (x>k)?k:x ` . Falls back to the fresh-dst
20+ two-move form when the guards don't hold (#193 param-clobber class).
21+ Measured ` .text ` : control_step 378→354 B (−6.3 %), flight_seam inlined
22+ 1058→1020 B (−3.6 %), flat 1294→1244 B (−3.9 %). All four differential
23+ fixtures RESULT-identical (control_step 13/13 ` 0x00210A55 ` , flight_seam
24+ inlined+flat ` 0x07FDF307 ` , div_const 338/338).
25+ - ** Spill-cost ranking (#285 , VCR-RA-001 wiring step 2):** the Chaitin/Briggs
26+ colourer picks optimistic spill candidates by cost/degree (cost = def+use
27+ occurrence count) instead of degree-only; the uncosted API reproduces the
28+ historic choice exactly. Pure and unwired — fixture ELFs bit-identical.
29+ - ** Allocator substrate (#279 –#281 , unwired/flag-gated):** SelectMove/Select
30+ modeled in ` reg_effect ` ; allocator driver + ` SYNTH_SHADOW_ALLOC ` shadow
31+ pass; const-CSE rematerialization-avoidance behind ` SYNTH_CONST_CSE ` .
32+ - ** VCR traceability (#282 , #284 ):** VCR-SEL-002/VCR-RA-002 filed;
33+ tool-qualification top-of-V (VCR-TQ-001/002: DO-178C/ISO 26262/IEC 61508/
34+ EN 50128 classification + evidence pillars); release-plan tags
35+ (` release-vX.Y ` , queryable via ` rivet list --filter ` ).
36+
37+ Falsification: this release is wrong if any module produces a different
38+ * result* than wasmtime where ` val2 ` 's register was still needed after a select
39+ — watched by the four differentials and gale's on-target baselines
40+ (filter_axis 37 / control_step 158 / flat_flight 255 / controller_step 162).
41+
1042## [ 0.11.34] - 2026-06-05
1143
1244** Un-wire the default-on ` mul ` +` add ` →` mla ` fusion — it regresses on-target until
0 commit comments