mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-30 15:36:55 -04:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user