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>
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);
- }
}
}