config(wave_exclude): pin the 4 §332 delay-slot walls wall_sweep names in main

wall_sweep --emit-exclude lists 9 fleet-wide; the list carried 5 of them.
func_8005D734, func_8005D8B4, func_8005ED4C and func_8005F450 each have a
%lo in a branch/jal delay slot — the second half of an assembler macro gcc
emits as ONE atomic insn, so no C can place it there. An agent handed one
returns a NEAR with an unexplainable tail, which is indistinguishable from a
hard function; the playbook measured a main wave spending 4 of 7 slots that way.
This commit is contained in:
Drew T
2026-09-03 20:03:15 -06:00
parent 90042c111d
commit e059f85298
+6
View File
@@ -11,3 +11,9 @@ main:func_80062144 # WALL: no jump table — curated compiler fact, not a tooli
md_MAIN_034:func_800CB00C # WALL: compiler wall (merged from S68_walls_332.txt)
ov_SC03_105:func_801834A4 # WALL: loop.c movable ordering, closeness 6 (S71)
ov_SC06_022:func_8017DF28 # WALL: expand_block_move copy_addr_to_reg pseudo + cse reuse, closeness 2 (S71)
# S77: wall_sweep named these and the list did not carry them — an agent handed one
# always returns a NEAR with an unexplainable tail, indistinguishable from a hard function.
main:func_8005D734 # WALL: §332 %lo in a delay slot (wall_sweep, 1 site) — no C can place it
main:func_8005D8B4 # WALL: §332 %lo in a delay slot (wall_sweep, 1 site) — no C can place it
main:func_8005ED4C # WALL: §332 %lo in a delay slot (wall_sweep, 2 sites) — no C can place it
main:func_8005F450 # WALL: §332 %lo in a delay slot (wall_sweep, 2 sites) — no C can place it