[Mesa-dev] [PATCH 06/11] nir/cf: Fix unlink_block_successors to actually unlink the second one.

Jason Ekstrand jason at jlekstrand.net
Wed Sep 23 10:38:16 PDT 2015


Reviewed-by: Jason Ekstrand <jason.ekstrand at intel.com>

On Tue, Sep 22, 2015 at 8:01 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> 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 at whitecape.org>
> Reviewed-by: Connor Abbott <cwabbott0 at gmail.com>
> ---
>  src/glsl/nir/nir_control_flow.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> ***UNCHANGED SINCE THE FIRST SEND***
>
> diff --git a/src/glsl/nir/nir_control_flow.c b/src/glsl/nir/nir_control_flow.c
> index a59add5..e027766 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
> --
> 2.5.3
>


More information about the mesa-dev mailing list