diff --git a/src/compiler/nir/nir_opt_loop.c b/src/compiler/nir/nir_opt_loop.c index bd4f44aa395..bbc33721897 100644 --- a/src/compiler/nir/nir_opt_loop.c +++ b/src/compiler/nir/nir_opt_loop.c @@ -321,7 +321,7 @@ can_constant_fold(nir_scalar scalar, nir_block *loop_header) nir_block *preheader = nir_block_cf_tree_prev(loop_header); nir_phi_instr *phi = nir_def_as_phi(scalar.def); nir_phi_src *src = nir_phi_get_src_from_block(phi, preheader); - return can_constant_fold(nir_get_scalar(src->src.ssa, 0), loop_header); + return nir_src_is_const(src->src); } return false;