diff --git a/src/compiler/nir/nir_range_analysis.c b/src/compiler/nir/nir_range_analysis.c index 04449a91232..ef7a4cdea89 100644 --- a/src/compiler/nir/nir_range_analysis.c +++ b/src/compiler/nir/nir_range_analysis.c @@ -1116,11 +1116,12 @@ search_phi_bcsel(nir_ssa_scalar scalar, nir_ssa_scalar *buf, unsigned buf_size, if (buf_size >= num_sources_left) { unsigned total_added = 0; nir_foreach_phi_src(src, phi) { + num_sources_left--; unsigned added = search_phi_bcsel( (nir_ssa_scalar){src->src.ssa, 0}, buf + total_added, buf_size - num_sources_left, visited); + assert(added <= buf_size); buf_size -= added; total_added += added; - num_sources_left--; } return total_added; }