Revert "pan/bi: Optimize out redundant jumps to #0x0"
authorBoris Brezillon <boris.brezillon@collabora.com>
Wed, 24 Feb 2021 16:53:06 +0000 (17:53 +0100)
committerMarge Bot <eric+marge@anholt.net>
Thu, 11 Mar 2021 14:30:19 +0000 (14:30 +0000)
A block that has all its successors empty is not necessarily a leaf
block in the CFG, and removing the JUMP in that causes the shader
to continue executing code from another block instead of exiting.

This reverts commit a496b41d50589191ad2e37a17019aef0dafcb9f2.

Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9520>

src/panfrost/bifrost/bifrost_compile.c

index 27e545b..0a48d09 100644 (file)
@@ -2939,13 +2939,6 @@ bi_lower_branch(bi_block *block)
 
                 if (bi_is_terminal_block(ins->branch_target))
                         ins->branch_target = NULL;
-
-                /* If there is nowhere to go, there is no point in branching */
-                if (bi_is_terminal_block((bi_block *) block->base.successors[0]) &&
-                        bi_is_terminal_block((bi_block *) block->base.successors[1]) &&
-                        ins->branch_target == NULL) {
-                        bi_remove_instruction(ins);
-                }
         }
 }