mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-29 07:10:32 -04:00
acba5c59df
- the move: delete the hand-walked pointer's self-increment and recompute p = &tbl[i] from the loop counter each iteration. The lever-free body had TWO induction variables — the loop dump says 'Cannot eliminate biv 73: biv used in insn 50' (loop.c:5976) because the pointer is itself a call argument — and combine_givs (loop.c:5494/:5527) then merged the three +12 field addresses into one giv whose benefit clears the not-worth-while gate at loop.c:3822-3828, reducing it to a THIRD walking register and forcing a fourth callee-saved one: the +4 instructions and the whole recolouring. Indexing instead leaves one biv, the +12 rides as an immediate, and the body is byte-identical. delever --propagate: 126 of 126 sibling(s) banked, 0 refused. 26,456 -> 26,202 sites. - THE HEADLINE IS THE METHOD, not the crack: the answer was written in English thirty lines above, in the // @class: header of an already-matched sibling in the same file, which spells out 'recompute p = &D[i] each iteration (NOT p++) so gcc reduces base+i*0x10 into a SINGLE pointer IV'. The pack sent agents to the cookbook and to the compiler source and never to the target's own neighbours. This project has been leaving itself notes for months and nobody was reading them. - delever_pack.py now writes PACK/neighbours.txt — the comment headers of the three matched functions either side of the target, plus every @class/@stuck/@crack note in the translation unit — and the brief makes reading it step 0.
4.8 KiB
4.8 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 |
| 14 | 2026-09-10 | S102 T7 s3 (partial, the run crashed in propagate) — the constant-holder draw: 10 bodies closed | 975850ff8 | 29533 | 17266 | 12267 | 9326 | 1594 | 29533 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 15 | 2026-09-10 | S102 T7 s3b — the constant-holder draw re-run after the propagate fix: 1 of 80, 6 bodies; 59 of 80 hit the compile budget | 5603a114c | 29527 | 17260 | 12267 | 9320 | 1593 | 29527 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 16 | 2026-09-10 | S102 T7 s5 — the first broad TAIL sweep with R15/R16/R17/R18: 285 of 800 bodies closed lever-free, no drafting tokens | 449acd8cb | 29204 | 17029 | 12175 | 9035 | 1308 | 29204 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 17 | 2026-09-10 | S102 T7 s6 — the last never-attempted exemplars: 25 of 337; the fresh pool is now empty | 67e91ad4d | 29148 | 16996 | 12152 | 9010 | 1283 | 29148 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 18 | 2026-09-10 | S102 T7 s7 (stopped early to restore agent cadence) — 5 of 207 judged at the wider width | 724c68859 | 29140 | 16989 | 12151 | 9005 | 1280 | 29140 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 19 | 2026-09-10 | S102 T7 a7 — func_801287B8: a truncated local extern was faking a pin; the missing call argument restored through a function-pointer cast (127 bodies) | bb0e95c7c | 29013 | 16862 | 12151 | 8878 | 1279 | 29013 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 20 | 2026-09-10 | S102 T7 a4 — func_8016C49C: one do-while on the function's LAST statement doubles a loop-note reference weight and flips allocno_compare (126 bodies) | 9f5b22176 | 28887 | 16736 | 12151 | 8752 | 1278 | 28887 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 21 | 2026-09-10 | S102 T7 burst — a8/a12/a18/a19 banked (132+118+119+134 bodies): the call-arity class twice, a MEM_IN_STRUCT_P alias flip, and a sequence-point split | fb6c857f7 | 27984 | 15965 | 12019 | 8249 | 1275 | 27984 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 22 | 2026-09-10 | S102 T7 burst — a5/a9/a11/a16/a25 banked; the MISSING CALL ARGUMENT class confirmed six times independently (m2c dropped arguments at unprototyped and indirect call sites) | c6b380fcd | 26714 | 15324 | 11390 | 7612 | 1271 | 26714 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 23 | 2026-09-10 | S102 T7 burst — a22 banked (126); a14 REFUSED as an invented zero term; a6/a10/a15 read without closing | 374c8a0e9 | 26462 | 15198 | 11264 | 7486 | 1270 | 26462 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 24 | 2026-09-10 | S102 T7 s8 — the first R19 sweep: 3 of 55 classes closed by restoring a dropped call argument, 2 compiles each | f3de70fce | 26456 | 15193 | 11263 | 7483 | 1267 | 26456 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 25 | 2026-09-10 | S102 — 16,759 lying call declarations repaired free (3,439 units, R22 218/218); levers unchanged, truth improved | 51028a78d | 26456 | 15193 | 11263 | 7483 | 1267 | 26456 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |
| 26 | 2026-09-10 | S102 T7 b1 — func_801651B8: the hand-walked pointer folded back into the index, one induction variable instead of two (127 bodies) | 8c0e7c549 | 26202 | 15066 | 11136 | 7356 | 1266 | 26202 | 0 | 462 | 314 | 1590 | 50 | 7428 | 445 | 76 |