From: Lionel Landwerlin Date: Wed, 15 May 2019 22:02:51 +0000 (+0100) Subject: nir: lower_non_uniform_access: iterate over instructions safely X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e04cf0b61269ca60b3260d81d94e625965d39901;p=mesa.git nir: lower_non_uniform_access: iterate over instructions safely This pass moves instructions around and adds control-flow in the middle of blocks. We need to use nir_foreach_instr_safe to ensure that we iterate over instructions correctly anyway. Signed-off-by: Lionel Landwerlin Fixes: 3bd545764151 ("nir: Add a lowering pass for non-uniform resource access") Reviewed-by: Jason Ekstrand --- diff --git a/src/compiler/nir/nir_lower_non_uniform_access.c b/src/compiler/nir/nir_lower_non_uniform_access.c index b2bdb4dd412..6367f5670e8 100644 --- a/src/compiler/nir/nir_lower_non_uniform_access.c +++ b/src/compiler/nir/nir_lower_non_uniform_access.c @@ -130,7 +130,7 @@ nir_lower_non_uniform_access_impl(nir_function_impl *impl, nir_builder_init(&b, impl); nir_foreach_block(block, impl) { - nir_foreach_instr(instr, block) { + nir_foreach_instr_safe(instr, block) { switch (instr->type) { case nir_instr_type_tex: { nir_tex_instr *tex = nir_instr_as_tex(instr);