From: Kenneth Graunke Date: Mon, 24 Aug 2015 19:18:51 +0000 (-0700) Subject: nir: Use !block_ends_in_jump() in a few places rather than open-coding. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4f2cdd849738019ce9552ee1d5f8dafce8af3f10;p=mesa.git 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 Reviewed-by: Jason Ekstrand --- diff --git a/src/glsl/nir/nir_control_flow.c b/src/glsl/nir/nir_control_flow.c index 86c7ca2beba..5c03375ac77 100644 --- a/src/glsl/nir/nir_control_flow.c +++ b/src/glsl/nir/nir_control_flow.c @@ -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