mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
nir: Use !block_ends_in_jump() in a few places rather than open-coding.
Connor introduced this helper recently; we should use it here too. I had to move the function earlier in the file for it to be available. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>
This commit is contained in:
parent
d7971b41ce
commit
4f2cdd8497
1 changed files with 9 additions and 12 deletions
|
|
@ -47,6 +47,13 @@
|
|||
*/
|
||||
/*@{*/
|
||||
|
||||
static bool
|
||||
block_ends_in_jump(nir_block *block)
|
||||
{
|
||||
return !exec_list_is_empty(&block->instr_list) &&
|
||||
nir_block_last_instr(block)->type == nir_instr_type_jump;
|
||||
}
|
||||
|
||||
static inline void
|
||||
block_add_pred(nir_block *block, nir_block *pred)
|
||||
{
|
||||
|
|
@ -111,14 +118,12 @@ link_non_block_to_block(nir_cf_node *node, nir_block *block)
|
|||
assert(last_else->type == nir_cf_node_block);
|
||||
nir_block *last_else_block = nir_cf_node_as_block(last_else);
|
||||
|
||||
if (exec_list_is_empty(&last_then_block->instr_list) ||
|
||||
nir_block_last_instr(last_then_block)->type != nir_instr_type_jump) {
|
||||
if (!block_ends_in_jump(last_then_block)) {
|
||||
unlink_block_successors(last_then_block);
|
||||
link_blocks(last_then_block, block, NULL);
|
||||
}
|
||||
|
||||
if (exec_list_is_empty(&last_else_block->instr_list) ||
|
||||
nir_block_last_instr(last_else_block)->type != nir_instr_type_jump) {
|
||||
if (!block_ends_in_jump(last_else_block)) {
|
||||
unlink_block_successors(last_else_block);
|
||||
link_blocks(last_else_block, block, NULL);
|
||||
}
|
||||
|
|
@ -294,14 +299,6 @@ move_successors(nir_block *source, nir_block *dest)
|
|||
link_blocks(dest, succ1, succ2);
|
||||
}
|
||||
|
||||
static bool
|
||||
block_ends_in_jump(nir_block *block)
|
||||
{
|
||||
return !exec_list_is_empty(&block->instr_list) &&
|
||||
nir_block_last_instr(block)->type == nir_instr_type_jump;
|
||||
}
|
||||
|
||||
|
||||
/* Given a basic block with no successors that has been inserted into the
|
||||
* control flow tree, gives it the successors it would normally have assuming
|
||||
* it doesn't end in a jump instruction. Also inserts phi sources with undefs
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue