From: Jason Ekstrand Date: Sat, 8 Nov 2014 02:25:08 +0000 (-0800) Subject: nir/nir: Fix a bug in move_successors X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dc4e660dfad86aa8cdd08a5ec8b9890095de7c07;p=mesa.git nir/nir: Fix a bug in move_successors The unlink_blocks function moves successors around to make sure that, if there is a remaining successor, it is in the first successors slot and not the second. To fix this, we simply get both successors up front. Reviewed-by: Connor Abbott --- diff --git a/src/glsl/nir/nir.c b/src/glsl/nir/nir.c index 56891dc3401..d0e09ebb34e 100644 --- a/src/glsl/nir/nir.c +++ b/src/glsl/nir/nir.c @@ -739,10 +739,11 @@ static void move_successors(nir_block *source, nir_block *dest) { nir_block *succ1 = source->successors[0]; + nir_block *succ2 = source->successors[1]; + if (succ1) unlink_blocks(source, succ1); - nir_block *succ2 = source->successors[1]; if (succ2) unlink_blocks(source, succ2);