Skip to content

nir/nir_opt_offsets: Prevent offsets going above max

In try_fold_load_store when trying to extract const addition from non-const offset source, we should take into account that there is already a constant base offset, which should count towards the limit.

The issue was found in "Monster Hunter: World" running on Turnip.

Fixes: cac6f633 ("nir/opt_offsets: Use nir_ssa_scalar to chase offset additions.")

Well, the issue was present before this commit but it made a lot of changes in surrounding code.

It seems only Turnip has non-~0 limit for shared_max, so only Turnip was affected by this issue in the wild.

Merge request reports