If it's the last instruction, that's silly.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9137>
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);
+ }
}
}