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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user