nir/opt_peephole_select: allow speculatable load constant

this is useful on AGX when soft fault is enabled.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30501>
This commit is contained in:
Alyssa Rosenzweig 2024-08-02 12:15:41 -04:00 committed by Marge Bot
parent ae85f59645
commit 796b3ab23d

View file

@ -136,6 +136,14 @@ block_check_for_allowed_instrs(nir_block *block, unsigned *count,
return false;
break;
case nir_intrinsic_load_global_constant:
case nir_intrinsic_load_constant_agx:
if (!indirect_load_ok && !nir_src_is_const(intrin->src[0]))
return false;
if (!(nir_intrinsic_access(intrin) & ACCESS_CAN_SPECULATE))
return false;
break;
case nir_intrinsic_load_uniform:
case nir_intrinsic_load_preamble:
case nir_intrinsic_load_helper_invocation: