Commit Graph

4348 Commits

Author SHA1 Message Date
Drew T eadfa5977d phase-36: S104 checkpoint — d1–d19 all at 0, generators R27–R34, census 4,732 / 0 unmarked (exit 0), R22 218/218; d20–d24 in flight; METHOD step 14 | 🛑 T7 RUNNING 2026-09-10 22:51:40 -06:00
Drew T 13069c142d phase-36: S104 banks — R29/R31/R32/R33 pass: 4 of 4 MATCH (R28–R34 families' first residue pass: 945 classes in 842 s); R27 pass remainder: 2 more (25 MATCH of 995 in all); each IDENTICAL through the whole-object gate; R22 follows 2026-09-10 22:45:44 -06:00
Drew T 954e06093b phase-36: S104 s104_d17 — func_80180D50 banked at 0 through the whole-object gate + propagated — d17 copy 2026-09-10 22:38:04 -06:00
Drew T 4e145caef4 phase-36: S104 s104_d17 — func_80181DAC banked at 0 through the whole-object gate + propagated — $0 pin + keepalive → 0: the goto chain as a switch, the do-while as a for with continue (a LOOP_VTOP note flips mostly_true_jump, reorg.c:1364-1372), the hoisted copy deleted (cse.c:846-862) 2026-09-10 22:37:25 -06:00
Drew T c48582300c phase-36: S104 R22 check-all 218/218 after d11–d19 + copies; census 4,753 sites, 0 unmarked, exit 0; lever_progress snapshot | 🛑 T7 RUNNING 2026-09-10 22:35:45 -06:00
Drew T 91ae94a64e phase-36: S104 s104_d16 — func_8018A2E0 banked at 0 through the whole-object gate + propagated — d16 copy 2026-09-10 22:32:12 -06:00
Drew T a225fe560e phase-36: S104 s104_d16 — func_8017F368 banked at 0 through the whole-object gate + propagated — 2 pins → 0: arrays indexed by the loop counter (givs combine into one register, loop.c:4341/5494), a u8 copy, one pointer per loop 2026-09-10 22:31:05 -06:00
Drew T 4c2e503ecc phase-36: S104 s104_d19 — func_80189030 banked at 0 through the whole-object gate + propagated — keepalive → 0: the search loops index with j, raising its allocno_compare priority over p (global.c:587-610) 2026-09-10 22:29:56 -06:00
Drew T b9cadc83b0 phase-36: S104 s104_d14 — func_801860B8 banked at 0 through the whole-object gate + propagated — 3 pins → 0: late locals reuse earlier-dead variables (combine_regs refused, local-alloc.c:1845 → find_reg order) 2026-09-10 22:28:45 -06:00
Drew T d94d993102 phase-36: generators R28 merge_pinned_twins, R29 fold_store_temps, R31 shift_operand_casts, R32 compound_assignments, R33 else_arm_assignments, R34 merge_disjoint_locals — harvested from d1/d5/d8/d12/d13/d14/d15/d19, each run against its agent's start text (R31/R32/R33 reproduce the close, R28/R29 the measured single-move score); METHOD step 13 2026-09-10 22:27:07 -06:00
Drew T 9300051f14 phase-36: S104 s104_d18 — func_8017C234 banked at 0 through the whole-object gate + propagated — d18 copy 2026-09-10 22:25:30 -06:00
Drew T e91077bbaf phase-36: S104 s104_d18 — func_8017BF70 banked at 0 through the whole-object gate + propagated — d18 copy 2026-09-10 22:24:28 -06:00
Drew T df20d261e1 phase-36: S104 s104_d18 — func_8017BF50 banked at 0 through the whole-object gate + propagated — d18 copy 2026-09-10 22:23:12 -06:00
Drew T 9dd2703b40 phase-36: S104 s104_d18 — func_8017BF50 banked at 0 through the whole-object gate + propagated — $17 pin → 0: the invented second stepped pointer deleted, its stores as offsets from the loop pointer (combine_givs loop.c:5494) 2026-09-10 22:22:22 -06:00
Drew T d7a998b545 phase-36: S104 s104_d15 — func_80183F70 banked at 0 through the whole-object gate + propagated — d15 copy, s16 local form (a file-scope s32 prototype) 2026-09-10 22:21:04 -06:00
Drew T 4f350da88d phase-36: S104 s104_d15 — func_8017FD6C banked at 0 through the whole-object gate + propagated — d15 copy, s16 local form (a file-scope s32 prototype) 2026-09-10 22:20:06 -06:00
Drew T a92706a800 phase-36: S104 s104_d15 — func_8018594C banked at 0 through the whole-object gate + propagated — 3 levers → 0: the reused temp as direct stores (local-alloc.c:472) + an s16 parameter (function.c:3664-3676) 2026-09-10 22:19:26 -06:00
Drew T e936a63acb phase-36: S104 s104_d13 — func_801875D0 banked at 0 through the whole-object gate + propagated — d13 copy 2026-09-10 22:17:44 -06:00
Drew T 99471279d0 phase-36: S104 s104_d13 — func_8018C3F8 banked at 0 through the whole-object gate + propagated — d13 copy 2026-09-10 22:17:04 -06:00
Drew T 5a396937bd phase-36: S104 s104_d13 — func_8018F694 banked at 0 through the whole-object gate + propagated — launder → 0: (s16)t >> 6 at the shift (c-typeck.c:2418-2450 short_shift; cse.c:5577-5667) 2026-09-10 22:16:11 -06:00
Drew T bb39bdad7c phase-36: S104 s104_d12 — func_801898E4 banked at 0 through the whole-object gate + propagated — 5 pins → 0: the split locals merged (count/descCount, table/table2), s16 b, the $0 temp deleted (find_reg global.c:945-966) 2026-09-10 22:15:01 -06:00
Drew T 1b93327f24 phase-36: S104 s104_d11 — func_801800F0 banked at 0 through the whole-object gate + propagated — sign-split range tests as one ternary condition (cross-jump finds no match, jump.c:2412; cookbook §396(a)) 2026-09-10 22:13:36 -06:00
Drew T 72153b4af1 phase-36: S104 sweep banks part 2 — 39 of 44 MATCH rows (R27 ports 21, R7 do-while marked 7, R8/R18/R12/R19/R20/R9) + 35 siblings, each IDENTICAL through the whole-object gate; R22 follows 2026-09-10 22:11:30 -06:00
Drew T 06302b97c2 phase-36: S104 — the census counts a marker on a kept ordinary-C fake (do-while / dead init, Drew's ruling (a)) apart instead of as an orphan; R7 marks its do-while; log: d1–d10 all at 0, R27, the R97 correction for 830650946 | 🛑 T7 RUNNING, census 4,928 / 0 unmarked, exit 0 2026-09-10 21:51:49 -06:00
Drew T 0d26d8d82a phase-36: S104 s104_d10 — func_8017F040 banked at 0 through the whole-object gate + propagated — d10's sibling, the same union move 2026-09-10 21:46:18 -06:00
Drew T 699fbbfdde phase-36: S104 s104_d10 — func_8017EF88 banked at 0 through the whole-object gate + propagated — 3 pins + 2 keepalives + a do-while + a dead pad → 0: register unions {struct{s16 x,y;}v; s32 sxy;} — the field insert makes flow mark them live from entry (global.c:640-660) 2026-09-10 21:44:46 -06:00
Drew T 30fd6796f9 phase-36: generator R27 named_ports — the same function lever-free in another binary, ported by pairing the two original objects' relocation sequences (+ carried file-scope externs, the target's return type); wired into delever_regen and recipe_candidates; 511/1,010 residue classes have a donor, a 24-class probe closed 4; METHOD step 12 (S104's landings) 2026-09-10 21:43:05 -06:00
Drew T 830650946c phase-36: S104 R22 check-all 218/218 after the d1–d9 + sweep banks; census 5,097 → 4,963 sites, 0 unmarked; lever_progress snapshot | 🛑 T7 RUNNING 2026-09-10 21:35:39 -06:00
Drew T 9108751393 phase-36: S104 s104_d4 — func_80182358 banked at 0 through the whole-object gate + propagated — launder→0 asm/pin + 1 marked do-while (a LOOP-note barrier, sched.c:2058-2074; Drew S104 (a)) 2026-09-10 21:30:49 -06:00
Drew T 29c857eaa2 phase-36: S104 s104_d7 — func_80180CF4 banked at 0 through the whole-object gate + propagated — d7 port 2026-09-10 21:29:27 -06:00
Drew T f2c25f3727 phase-36: S104 s104_d7 — func_80181B18 banked at 0 through the whole-object gate + propagated — 3 levers→0: sub and v declared per switch case (a per-case local crossing a call takes $s0 in local-alloc, local-alloc.c:2101-2106; combine_regs ties v to the constant, :1722/:1773) 2026-09-10 21:27:49 -06:00
Drew T 14210a8e67 phase-36: S104 s104_d9 — func_801E559C banked at 0 through the whole-object gate + propagated — d9's sibling port 2026-09-10 21:26:49 -06:00
Drew T 78d87919c2 phase-36: S104 s104_d9 — func_801EAB04 banked at 0 through the whole-object gate + propagated — d9's sibling port 2026-09-10 21:26:05 -06:00
Drew T da9aad38c4 phase-36: S104 s104_d9 — func_801F2348 banked at 0 through the whole-object gate + propagated — barrier→0: the goto chain as a structured || (a label between condjump and store blocks jump.c:805/1019) 2026-09-10 21:24:43 -06:00
Drew T 9b85f42530 phase-36: S104 s104_d8 — func_80186440 banked at 0 through the whole-object gate + propagated — the $4 pin→0: the field increment as (*(u16 *)(p + 2))++ — a SUBREG destination fails birthing_insn_p (sched.c:2477-2490) 2026-09-10 21:23:41 -06:00
Drew T d5111014d1 phase-36: S104 s104_d6 — func_8017B614 banked at 0 through the whole-object gate + propagated — 3 levers→0: the banked ov_SC01_000 variant ported (one-scope src, struct-member tail reads, D_8012694C[0] store) 2026-09-10 21:22:44 -06:00
Drew T 8030518bcc phase-36: S104 d5 — func_801837E8 at 0 levers (was 1 $2 pin): the hoisted +0xFC temp folded into a compound assignment so the left side is born first (local-alloc.c:1486-1507, block_alloc's three-quantity order is by birth, not a sort); gate IDENTICAL each 2026-09-10 21:12:58 -06:00
Drew T f644ecb9d2 phase-36: S104 d3 — func_8017FB4C at 0 levers (was 1 $2 pin): the goto chain as structured if/else with one constant store per arm, the flag test before the angle mask (sched.c:2428 tie-break → allocno_compare 8333 > 8000), one variable for the global and its child; 4 bodies, gate IDENTICAL each 2026-09-10 21:11:56 -06:00
Drew T 547571fd18 phase-36: S104 d1 — func_80185960 at 0 levers (was 1 launder): the one-armed abs as an if/else with the non-simple value in the ELSE arm (jump1 keeps it, jump.c:739-741; cse's skip-block path stops at the join, cse.c:8116); 10 bodies, gate IDENTICAL each 2026-09-10 21:08:34 -06:00
Drew T 55ef71b95f phase-36: S104 d2 — func_80166F58 (ov_MAIN_012 class) at 0 levers (was 5): the banked SC04_011 header ported (return type from the TU's extern, table symbol renamed) + a re-extended short copy with a second use (combine.c:7926-7942, local-alloc.c:700); 8 bodies, gate IDENTICAL each 2026-09-10 21:07:10 -06:00
Drew T 7db8372ae2 phase-36: S104 sweep banks — 5 classes from the all-families regen (R12 ×3, R15, R19) + 12 siblings, each IDENTICAL through the whole-object gate; R22 follows the batch 2026-09-10 21:05:27 -06:00
Drew T 16411105e2 phase-36: kit corpus regenerated for the delever_regen and lever_census changes (tool_census --check OK, 0 gaps) 2026-09-10 20:59:56 -06:00
Drew T 98a4bbcb65 phase-36: S104 — the all-families free sweep running (2 R12 matches so far); agents d1–d5 drawn from sweep-judged classes; METHOD S104 section (Drew's rulings) | 🛑 T7 RUNNING, census 5,097 / 0 unmarked 2026-09-10 20:57:55 -06:00
Drew T 7b6418c179 phase-36: the census walker defaults to the tree's cross-file asm-macro table for every out-of-census caller (delever scrub/bank/judge) — S103's scrub false positive on an ENGINE_SHB launder reproduced and fixed; control still finds a real orphan; census unchanged 5,097 / 0 unmarked 2026-09-10 20:54:20 -06:00
Drew T 48176e51ff phase-36: delever_regen forks worker processes after warming the shared caches (threads sat on the GIL with zero compiles) and appends each judged class to <label>.jsonl as it lands; the S104 all-families sweep runs 2026-09-10 20:50:56 -06:00
Drew T c1ac890e3f phase-36: S104 opens — Drew's dispositions of S103's four questions, read against sotn-decomp's tree (0 pins, !FAKE do-while kept as C, one GTE header with project-local macros); milestone amended: unclosed sites stay marked and go to the structs phase 2026-09-10 20:28:07 -06:00
Drew T b27c987ba9 phase-36: S103 ends — c51 func_8012E364 at two marked pins (134 bodies); 46 orphan markers scrubbed (one scrub false positive restored, the defect recorded); census 5,097 sites, 0 unmarked, exit 0; checkpoint final (R22 218/218) 2026-09-10 19:13:58 -06:00
Drew T 94520756e0 phase-36: the R26 regen closes 28 classes (71 bodies); c55 and c53 close five tier classes; census 5,231 sites, 0 unmarked — exit 1 on 45 orphan !FAKE markers, scrubbed next (R22 218/218) 2026-09-10 19:05:22 -06:00
Drew T 0ef49b5154 phase-36: the S103 checkpoint refreshed at 89% context — 5,376 sites, the minimum-lever pivot, the late tools, the four decisions for Drew, what is in flight 2026-09-10 18:51:17 -06:00
Drew T baac1f851c phase-36: c56 ports the func_8013D9B0 minimum-lever text to ov_MAIN_012's 7-copy class; c54 ports func_8017B238 (8 bodies) (R22 218/218) 2026-09-10 18:48:23 -06:00