Files
psxrecomp/runtime/tests
Alex Vanderveen 3447d02f80 Merge upstream master into feat/rbengine-bak (PR #172)
Conflict: recompiler/src/code_generator.cpp, deferred-load emitter.

Both sides fixed the same bug — the psx_ldd_<addr> temp going out of
scope when PGXP wraps the load in its own `{ ... }` block. Took the
upstream resolution, which is a superset:

  - Local backport hoisted the declaration to function scope.
  - Upstream declares it at the top of the pair block instead (same
    scope fix, tighter), AND repoints the PGXP_LOAD hook's value
    argument at the temp. The local version left the hook reading
    cpu->gpr[N], which still holds the pre-load value because the
    writeback is deferred — so PGXP recorded a stale word.

Upstream's LWL/LWR forwarding (set_lwlr_merge_forward and the
full-function emitter's ldd_lwlr_forward set) auto-merged and is kept.

Verified: recompiler builds; test_lwlr_load_delay_forward.py and
test_dirty_text_continuation_guards.py pass; emitted code for a
dependent load pair declares the temp once inside the pair block, has
PGXP_LOAD read the temp, and keeps the writeback in scope. The six
runtime files touched by both sides compile clean against this game's
generated sources.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-21 21:08:20 -04:00
..
2026-07-29 03:18:10 -04:00
2026-07-29 03:18:10 -04:00
2026-07-29 03:18:10 -04:00
2026-08-17 11:40:25 -04:00
2026-07-29 03:18:10 -04:00
2026-08-17 22:25:49 -04:00
2026-08-17 22:25:49 -04:00
2026-08-17 22:25:49 -04:00
2026-08-17 22:25:49 -04:00
2026-07-29 03:18:10 -04:00
2026-07-29 03:18:10 -04:00