Commit Graph

4362 Commits

Author SHA1 Message Date
Drew T d79efee078 phase-36: R23 accepts a case/default label as a statement boundary (d22's split, known-true 0); generators R35 drop_param_copies (d24) and R36 merge_set_chains (d25, known-true 0) 2026-09-10 23:12:37 -06:00
Drew T ba98d26df8 phase-36: R23 accepts a case/default label as a statement boundary (d22's split, known-true 0); generators R35 drop_param_copies (d24) and R36 merge_set_chains (d25, known-true 0) 2026-09-10 23:11:13 -06:00
Drew T 1058ced5f3 phase-36: S104 s104_d26 — func_8018EC50 banked at 0 through the whole-object gate + propagated — d26 copy 2026-09-10 23:08:56 -06:00
Drew T ef8fd52c5b phase-36: S104 s104_d26 — func_80181FC4 banked at 0 through the whole-object gate + propagated — d26 copy 2026-09-10 23:08:22 -06:00
Drew T 9fb4baa2f7 phase-36: S104 s104_d26 — func_8018C608 banked at 0 through the whole-object gate + propagated — d26 copy 2026-09-10 23:07:20 -06:00
Drew T 9d0423817d phase-36: S104 s104_d26 — func_8017FB10 banked at 0 through the whole-object gate + propagated — pin → 0: the +0x14 store first (sched.c:2425-2428 tie-break) and the counter as a pre-decrement in the condition (qty_compare refs, local-alloc.c:1579) 2026-09-10 23:06:43 -06:00
Drew T 0aaa40f029 phase-36: S104 s104_d25 — func_8017DE40 banked at 0 through the whole-object gate + propagated — d25 copy 2026-09-10 23:03:32 -06:00
Drew T 53d158ba03 phase-36: S104 s104_d25 — func_8017E060 banked at 0 through the whole-object gate + propagated — $4 pin → 0: the twice-set pointer as one expression (combine leaves reg_n_refs on a folded pseudo, combine.c:2305-2337 → alter_reg gives it a slot, reload1.c:2327-2352) 2026-09-10 23:03:03 -06:00
Drew T 0ab2802e20 phase-36: S104 s104_d23 — func_8017FE24 banked at 0 through the whole-object gate + propagated — d23 copy 2026-09-10 23:01:30 -06:00
Drew T 6d923ea839 phase-36: S104 s104_d23 — func_801800F8 banked at 0 through the whole-object gate + propagated — d23 copy 2026-09-10 23:00:51 -06:00
Drew T 2b83a9aa3f phase-36: S104 s104_d23 — func_80181864 banked at 0 through the whole-object gate + propagated — 3 levers → 0: a loop-local next for the list walk (cse.c:846-857), each arm stores before its counter so cross-jump keeps the four stores (jump.c:2371) 2026-09-10 22:59:47 -06:00
Drew T 1f4989b4cd phase-36: S104 s104_d24 — func_80187CE8 banked at 0 through the whole-object gate + propagated — d24 copy 2026-09-10 22:58:11 -06:00
Drew T 48bb124be5 phase-36: S104 s104_d24 — func_8018003C banked at 0 through the whole-object gate + propagated — 4 pins + a $0 copy → 0: the parameter copy deleted (cse.c:846-862 → the two tails merge, jump.c:2371), the call at its real arity, += per field 2026-09-10 22:57:37 -06:00
Drew T 66eafc8a54 phase-36: S104 s104_d22 — func_801861FC banked at 0 through the whole-object gate + propagated — $2 pin → 0: one variable per value across switch cases (flow.c:2058-2061 made the shared t global; per-case t is local and ties to $2, local-alloc.c:1722) 2026-09-10 22:55:40 -06:00
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