From: Alyssa Rosenzweig Date: Wed, 27 May 2020 22:27:08 +0000 (-0400) Subject: pan/bi: Fix emit_if successor assignment X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e42a5dfd4f2b22c73f4627128ac6d3dbcb10aca1;p=mesa.git pan/bi: Fix emit_if successor assignment Signed-off-by: Alyssa Rosenzweig Fixes: 9a00cf3d1ef ("pan/bi: Add support for if-else blocks") Part-of: --- diff --git a/src/panfrost/bifrost/bifrost_compile.c b/src/panfrost/bifrost/bifrost_compile.c index 2404d988aae..1e41b53e435 100644 --- a/src/panfrost/bifrost/bifrost_compile.c +++ b/src/panfrost/bifrost/bifrost_compile.c @@ -1084,18 +1084,16 @@ emit_if(bi_context *ctx, nir_if *nif) /* The else block is empty, so don't emit an exit jump */ bi_remove_instruction(then_exit); then_branch->branch_target = ctx->after_block; + pan_block_add_successor(&end_then_block->base, &ctx->after_block->base); /* fallthrough */ } else { then_branch->branch_target = else_block; then_exit->branch_target = ctx->after_block; pan_block_add_successor(&end_then_block->base, &then_exit->branch_target->base); + pan_block_add_successor(&end_else_block->base, &ctx->after_block->base); /* fallthrough */ } - /* Wire up the successors */ - pan_block_add_successor(&before_block->base, &then_branch->branch_target->base); /* then_branch */ - pan_block_add_successor(&before_block->base, &then_block->base); /* fallthrough */ - pan_block_add_successor(&end_else_block->base, &ctx->after_block->base); /* fallthrough */ } static void