nir/cf: Fix unlink_block_successors to actually unlink the second one.

Calling unlink_blocks(block, block->successors[0]) will successfully
unlink the first successor, but then will shift block->successors[1]
down to block->successor[0].  So the successors[1] != NULL check will
always fail.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
Kenneth Graunke
2015-09-01 22:56:29 -07:00
parent 024e5ec977
commit 6560838703
+2 -2
View File
@@ -99,10 +99,10 @@ unlink_blocks(nir_block *pred, nir_block *succ)
static void
unlink_block_successors(nir_block *block)
{
if (block->successors[0] != NULL)
unlink_blocks(block, block->successors[0]);
if (block->successors[1] != NULL)
unlink_blocks(block, block->successors[1]);
if (block->successors[0] != NULL)
unlink_blocks(block, block->successors[0]);
}
static void