diff options
author | Kenneth Graunke <[email protected]> | 2015-09-01 22:56:29 -0700 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2015-09-23 11:00:00 -0700 |
commit | 6560838703431f89c47d68822758bc76fd34c355 (patch) | |
tree | fa324f6bf4880e6741fcf7d5072c6bfc060f8d59 | |
parent | 024e5ec9777c38f8c05be6678a9f51b145a00236 (diff) |
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 <[email protected]>
Reviewed-by: Connor Abbott <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
-rw-r--r-- | src/glsl/nir/nir_control_flow.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glsl/nir/nir_control_flow.c b/src/glsl/nir/nir_control_flow.c index 87bc7163efd..55d0689c45e 100644 --- a/src/glsl/nir/nir_control_flow.c +++ b/src/glsl/nir/nir_control_flow.c @@ -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 |