Files
BFM-decomp/docs
Drew T 371a18b6de docs(cookbook): §461 — laundering can be the defect; Residual A is single-op only
From the S76 func_80039B20 agent (79 ins, prior best 16 -> 10). Two findings.

A volatile-asm launder on the WRONG loop invariant displaced the address
chain and cost an entire cluster (16 -> 81 with it present); the matched
sibling func_8003A0E4 uses the plain idiom. Another invariant in the same
loop genuinely needs its launder. So the lever is per-invariant, not
per-loop, and it can go backwards.

Scope correction to Residual A (L875): the first-dying-operand / source-order
fix works on a SINGLE binary op and does NOT transfer to a PLUS chain —
measured byte-identical output when swapping operands on a 3-term chain,
because fold.c canonicalizes associative PLUS before combine sees it. Worth
recording as a negative result so nobody re-derives it.
2026-09-03 15:50:31 -06:00
..
2026-09-02 16:45:33 -06:00