mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-07 01:18:49 -04:00
9c5ca46a2a
- two moves: delete `register s32 c40 __asm__("$3")` and its `c40 = 0x40;`, writing the literal at its four uses (byte-neutral
on its own — the pin was never doing the work); then swap the adjacent `f1e = 0x40;` and `f1a = 0x10;` so the 0x10 store
splits the run of 0x40 stores.
- the residual reads like cse/sched and the decision is local-alloc's. Dumps of the real TU in both orderings differ on one
.lreg line — `Register 76 used 5 times across 10 insns` -> `across 14 insns`, `Register 76 in 2.` -> `in 3.` — which is
find_free_reg's live-range scan at local-alloc.c:2109-2110: unswapped the two constants' ranges are disjoint and share $v0,
swapped they overlap and the first takes $v1.
- the $4 pin STAYS, and not as a lever: src/shared/ov/func_801687CC.h declares extern void func_80168828(void), so the
target's `move s1,a0` has no C source. An uninitialised local, a pointer-typed one, a split declaration and deleting it
outright all give the identical score-25 residual; both parameter forms are hard cc1 errors against that header. This is
the first measured pin that only a declaration fix can remove — one of the 51 conflicts P35 ledgered for the types phase.
The engine's score-1 text is a coincidence (its andi truncates garbage in $s1 and never reads $a0); not proposed.
- instrument fixed in the same change: --propagate refused all 124 siblings because the reshape deliberately keeps a lever.
The allowance is now derived from the exemplar's own banked text (its surviving !FAKE markers), and a sibling whose remap
would carry more levers than the exemplar is refused by name.
delever --propagate: 124 of 124 sibling(s) banked, 0 refused
- check-all: 218 passed, 0 failed of 218
lever_census --check: 29,572 pin/asm sites, 29,572 marked !FAKE, 0 UNMARKED — OK
- snapshot row 12; delever --selftest OK. The toolify (R16, the constant-run split) follows.
2.1 KiB
2.1 KiB
| 1 | date | milestone | head | sites_AB | pins | asm | bodies_AB | distinct_AB | marked | unmarked | gte_levers | per_tu_asm_macros | class_C | class_D | class_E | class_F | class_G |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | 2026-09-09 | T6 r1 (rung R's first class) | 1761a3125 | 33957 | 20512 | 13445 | 12578 | 1758 | 33957 | 0 | 462 | 314 | 1722 | 50 | 7428 | 445 | 76 |
| 3 | 2026-09-09 | T6 d1 (rung D's four exemplars) | 8fac96651 | 33953 | 20508 | 13445 | 12574 | 1758 | 33953 | 0 | 462 | 314 | 1722 | 50 | 7428 | 445 | 76 |
| 4 | 2026-09-09 | T6 p1 (four classes propagated) | a2da99b13 | 33427 | 19982 | 13445 | 12048 | 1755 | 33427 | 0 | 462 | 314 | 1722 | 50 | 7428 | 445 | 76 |
| 5 | 2026-09-09 | S101 rung G g1 (the guided search's first run: 1 of 16 exemplars, 132 bodies) | 623e55340 | 33295 | 19982 | 13313 | 11916 | 1754 | 33295 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 6 | 2026-09-09 | S101 rung G g2 (wider beam + R10/R12/R13/R8-cse: 1 of 16, 132 bodies) | 584031c71 | 33031 | 19718 | 13313 | 11784 | 1753 | 33031 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 7 | 2026-09-09 | S101 rung G g3 (the next 64 classes: 13 of 64, 1,516 bodies) | 5ae0b5ceb | 31025 | 18442 | 12583 | 10268 | 1740 | 31025 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 8 | 2026-09-09 | S101 rung G g4s (the 13 explained names, 38 classes: 3 of 38, 133 bodies) | 068781ae0 | 30892 | 18309 | 12583 | 10135 | 1737 | 30892 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 9 | 2026-09-09 | S101 rung G g5 (the head re-drawn wide: 5 of 70, 62 bodies) | 1ec67f667 | 30806 | 18261 | 12545 | 10073 | 1732 | 30806 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 10 | 2026-09-09 | S101 rung G g6 + g6b (the tail: 47 + 63 of 400 small classes, 93 + 186 + 47 bodies) | 2f3ce92a1 | 30358 | 17954 | 12404 | 9747 | 1624 | 30358 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 11 | 2026-09-10 | S102 T7 a1 — func_80156044 closed by an agent (merge-point expression sunk into the if/else arms, both $2/$3 pins gone); 130 bodies banked (1 + 129 propagated) | 5a8bd1021 | 30098 | 17694 | 12404 | 9617 | 1623 | 30098 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 12 | 2026-09-10 | S102 T7 s1 — the R15 sweep of the head: 6 exemplars closed by the sink alone (267 bodies), no drafting tokens | 861dd0651 | 29697 | 17427 | 12270 | 9350 | 1617 | 29697 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 13 | 2026-09-10 | S102 T7 a2 — func_80168828: the constant-holder pin deleted and one adjacent swap closes it (125 bodies, 1 of 2 pins off; the $4 pin is forced by the header's (void) declaration) | c00ffe5d4 | 29572 | 17302 | 12270 | 9350 | 1617 | 29572 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |