From: Kenneth Graunke Date: Thu, 3 Sep 2015 08:29:38 +0000 (-0700) Subject: nir: Validate that a block doesn't have two identical successors. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6a67ede6b33cfb3bc35d09dcd25a731cba3b7780;p=mesa.git nir: Validate that a block doesn't have two identical successors. This is invalid, and causes disasters if we try to unlink successors: removing the first will work, but removing the second copy will fail because the block isn't in the successor's predecessor set any longer. Signed-off-by: Kenneth Graunke Reviewed-by: Connor Abbott Reviewed-by: Jason Ekstrand --- diff --git a/src/glsl/nir/nir_validate.c b/src/glsl/nir/nir_validate.c index 9938c0ef8b1..1c9993a9c80 100644 --- a/src/glsl/nir/nir_validate.c +++ b/src/glsl/nir/nir_validate.c @@ -586,6 +586,7 @@ validate_block(nir_block *block, validate_state *state) } assert(block->successors[0] != NULL); + assert(block->successors[0] != block->successors[1]); for (unsigned i = 0; i < 2; i++) { if (block->successors[i] != NULL) {