Commit Graph

2143 Commits

Author SHA1 Message Date
Drew T 82ef8d23ec feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 14:06:09 -06:00
Drew T 561e985c75 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 14:04:54 -06:00
Drew T 2eb37df127 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 14:03:52 -06:00
Drew T bc43e1cf80 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:44:42 -06:00
Drew T 9e80e8183e feat(decomp): worker gate — +7 fns x0 propagated (fleet 95.3%) 2026-08-14 13:37:08 -06:00
Drew T 7590d2ecf3 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:31:33 -06:00
Drew T 7eb62a8c5c feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:30:38 -06:00
Drew T 7869945025 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:29:42 -06:00
Drew T 6dabd41e42 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 13:28:46 -06:00
Drew T 95351593e2 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:23:53 -06:00
Drew T b5729d28aa feat(decomp): worker gate — +3 fns x0 propagated (fleet 95.3%) 2026-08-14 13:22:57 -06:00
Drew T 1cf47e8ef9 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:19:58 -06:00
Drew T ca1c64f282 feat(decomp): worker gate — +4 fns x0 propagated (fleet 95.3%) 2026-08-14 13:18:49 -06:00
Drew T 52898e3ff2 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 13:17:41 -06:00
Drew T f54d3d5a5c feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 13:16:42 -06:00
Drew T c8628967f7 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 13:09:02 -06:00
Drew T fc33766950 feat(decomp): worker gate — +6 fns x0 propagated (fleet 95.3%) 2026-08-14 13:00:07 -06:00
Drew T fe1a0730e1 docs(phase-30 S50-Max): §172b — three more tells banked from the gcc read (sll/sra-16 register-promotion tell; swapped-arm select tell; ?: accumulator-order tell; div sign-correction reuse) 2026-08-14 12:44:25 -06:00
Drew T 4fbe768798 docs(phase-30 S50-Max): func_8017C294 — the ordered Max finish: five new axes opened, all byte-refuted; §172 rewritten v2 + §172a tells (the idiom deliverable)
The crack was NOT achieved; the wall is now mechanism-complete instead of inferred:

- caller-save.c setup_save_areas DISCOVERED as a second never-referenced-slot producer:
  eager 4-byte areas per call-clobbered hard reg carrying a call-crossing pseudo at ANY
  reload iteration (-fcaller-saves is on at -O2), emitted code or not.
- Alignment math corrected: alter_reg slots 8B (align -1), save areas 4B (align 0).
- The whole-binary gate run on v_best/v_dialfree for the FIRST time: both rejected —
  the standalone NEAR-2/NEAR-25 verdicts are faithful, no TU-state leak.
- 200-variant randomized structural sweep: swapped-arm recomputes are the ONE dimension
  that moves vars upward (cse does not merge the swapped select) at ~1:1 real-code cost;
  four coincidental vars=256 hits, all heavy-drift.
- Proof: cross-jump cannot delete slot-bearing code (identical-offset requirement) —
  the last no-residue mechanism branch closed by argument, not probe.
- Inline forms collapse the chain 246->209 ins: the bytes REQUIRE textual macro repeats.
- cc1 flag axis (-fforce-addr/-fno-force-mem/-fno-caller-saves/-fno-schedule-insns):
  vars=224 invariant.

Idioms delivered (Drew's second ask): §172 v2 (complete frame-residue model: producers,
alignment, orphan rule, the three-layer canonicalization wall with its honest bound) +
§172a (the lhu/lh typing tell: movhi=lhu copy vs extendhisi2=lh promotion, the double-load
signature; the macro-vs-inline tell: re-evaluated compares in arms = textually repeating
macros, load-bearing redundancy). The 0x801F1CD8/0x8017D290 family idioms were §171a/b.

Floor stays NEAR 2/246. Parked for P32 with the siege kit: tools/cc1_dumps.sh, the §172-v2
model, sweep_gen.py, the swaprepeat lead. ~240 cumulative refutations, each byte-grounded.
2026-08-14 12:38:14 -06:00
Drew T d242877065 feat(phase-30 S50): func_8017C294 frame residual decoded to the instruction level (§172) — crack REFUTED across the reachable space, wall documented
- tools/cc1_dumps.sh: run the pinned cc1 with -dr/-ds/-dj/-dc/-dl/-dg and count standalone
  (use (reg)) insns in the .combine dump — each is one 8-byte never-referenced reload slot.
  The NEAR-2 residual = 12 such orphans vs the target's 16, now ENUMERATED pseudo-by-pseudo
  instead of inferred from ablations.
- The orphan mechanism, exact (combine.c:10835 + mips.md force_not_mem): every short-mem read
  is a movhi+shift-pair triple; the fold orphans its ashift temp iff the HI reg carries an
  extra HImode use and the death-note walk hits a label/jump. Single-use loads never orphan;
  the head can never orphan (walk reaches insn 0).
- The zero-code +4 factory is byte-refuted: 18 new probe families x 3 placements (s16
  respellings, cast truncations, <<16>>16 factories, placement sweeps, loop t/n, dossier-file
  re-sweep) all land at vars=224-same-bytes or drift. p_optr reproduces the target's exact
  16-orphan frame at +7 insns — opacity that defeats cse equally blinds num_sign_bit_copies;
  fold-const closes the tree level. Three canonicalizers, one wall.
- Dossier NOTES.md updated with the S50 ledger; backlog klass -> WALL(P32) for both names.
- NOT banked: no 0-closeness draft exists. The dial draft (NEAR 2) remains the floor.
2026-08-14 12:08:50 -06:00
Drew T e7d61e823d feat(phase-30 S50): bank the top-reach families 0x801F1CD8 (41/41) and 0x8017D290 (9/9)
Three carries a mechanical seed-body draft needs beyond the symbol rebase (cookbook §171b),
each found from one compiler verdict:

- DATA DEFINED INSIDE THE MEMBER'S OWN .s must be DEFINED, not externed — it vanishes with
  the stub it lives in. Re-initialised with THIS member's bytes (the 0x801F1CD8 family carries
  4 distinct 8-byte patterns across 42 members). Flat-byte-list initializers only; refuse the
  rest rather than mis-initialise something the gate would reject unexplainably.
- SHARED TYPES the destination cannot see: MATRIX/SVECTOR live in engine_types.h, which md_*
  TUs never include. `parse error before 'm1'` was the only thing between 4 of 9 members and a
  bank. Carried brace-matched, vetoed by the destination.
- A POSITIONAL LITERAL MAP where imm_map_tier1 gives up: it refuses a value that also appears
  at a non-differing slot (0x10 collides with the struct offsets), but the 8 differing slots
  map 1:1 onto the C's call sites in order. Asserted ([C literals] == [seed slot values])
  before substituting — that assert is the whole safety argument. 10/10 refused -> 9/9 banked.

- ROOT-CAUSE FIX: body_text matched `extern void func_X(...);` at column 0 and returned the
  NEXT function's body — silently shipping wrong seed bodies, visible only as "no definition
  after rename" skips. A definition is now confirmed by a `{` with no `;` before it.

R22 clean rebuild: check-all 213 passed, 0 failed of 213. Stubs 12,161 -> 12,111.
Fleet 95.3% instr / 90.0% distinct / 96.66% fn-count.
2026-08-14 11:23:26 -06:00
Drew T 9c16d8a8b8 feat(phase-30 S49): propagate func_801E7EC4 (adapt lane) 2026-08-14 11:16:31 -06:00
Drew T 9f188674df feat(phase-30 S49): propagate func_801E7DA0 (adapt lane) 2026-08-14 11:15:17 -06:00
Drew T 26f04b9b61 feat(phase-30 S49): propagate func_801E7ED8 (adapt lane) 2026-08-14 11:14:03 -06:00
Drew T aa1b44498e feat(phase-30 S49): propagate func_801E7DB4 (adapt lane) 2026-08-14 11:12:50 -06:00
Drew T d89958b341 feat(phase-30 S49): propagate func_8017D808 (adapt lane) 2026-08-14 11:08:47 -06:00
Drew T 6c3e63c5e9 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 11:08:15 -06:00
Drew T 7bd62faeb3 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 11:06:54 -06:00
Drew T 398f9ca40d feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 11:05:29 -06:00
Drew T 46e8d7c988 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 11:04:04 -06:00
Drew T e08612bcf5 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 11:02:45 -06:00
Drew T 0294728f23 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 10:52:32 -06:00
Drew T c40a756023 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 10:51:37 -06:00
Drew T 9e8f1f65d3 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:50:45 -06:00
Drew T a4253f394a feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:49:52 -06:00
Drew T ca59138a40 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 10:49:00 -06:00
Drew T e11e89a945 feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 10:48:08 -06:00
Drew T 72cba64bab feat(decomp): worker gate — +1 fns x0 propagated (fleet 95.3%) 2026-08-14 10:47:16 -06:00
Drew T 2d14f38484 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:46:20 -06:00
Drew T 4d83beee4b feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:45:26 -06:00
Drew T 627231f58b feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:44:33 -06:00
Drew T 8c688e53dd feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:43:40 -06:00
Drew T 1c5a796674 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:42:46 -06:00
Drew T 8e004ccf4a feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:41:52 -06:00
Drew T e266685aa7 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:41:00 -06:00
Drew T f3265900da feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:40:06 -06:00
Drew T 9b75767de2 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:39:12 -06:00
Drew T 70bc5ceb89 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:38:20 -06:00
Drew T b6ef08c290 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:37:28 -06:00
Drew T 37ba5f0253 feat(decomp): worker gate — +2 fns x0 propagated (fleet 95.3%) 2026-08-14 10:36:37 -06:00