https://gcc.gnu.org/g:7acea934054e5032d8af5ffbc3228770934688b4
commit r17-4070-g7acea934054e5032d8af5ffbc3228770934688b4 Author: Kyrylo Tkachov <[email protected]> Date: Sun Sep 6 13:07:57 2026 +0200 ifcvt: drop the dead forward declarations Of the 38 static forward declarations in ifcvt.cc, only ten name a function that is used before it is defined. The rest were needed by an earlier arrangement of the file: every caller of them now sits below the definition, including the whole mid-file block of noce_try_* declarations, whose only caller is the dispatch code at the end of noce_process_if_block. Delete the 28 dead ones and move noce_emit_cmove's default arguments onto its definition, since they lived on the declaration that goes away. No functional change. gcc/ChangeLog: * ifcvt.cc (count_bb_insns, cheap_bb_rtx_cost_p, first_active_insn, last_active_insn, find_active_insn_before, find_active_insn_after, block_fallthru, cond_exec_get_condition, noce_get_condition, find_if_header, block_jumps_and_fallthru, noce_find_if_block, noce_emit_move_insn, noce_emit_store_flag, noce_try_move, noce_try_ifelse_collapse, noce_try_store_flag, noce_try_addcc, noce_try_store_flag_constants, noce_try_shifted_store_flag, noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith, noce_get_alt_condition, noce_try_minmax, noce_try_abs, noce_try_sign_mask): Remove the unused forward declarations. (noce_emit_cmove): Likewise, and give the definition the default arguments. Signed-off-by: Kyrylo Tkachov <[email protected]> Diff: --- gcc/ifcvt.cc | 34 ++-------------------------------- 1 file changed, 2 insertions(+), 32 deletions(-) diff --git a/gcc/ifcvt.cc b/gcc/ifcvt.cc index d183814fe229..609e51400876 100644 --- a/gcc/ifcvt.cc +++ b/gcc/ifcvt.cc @@ -93,27 +93,14 @@ static int num_true_changes; static bool ifcvt_changed_p; /* Forward references. */ -static int count_bb_insns (const_basic_block); -static bool cheap_bb_rtx_cost_p (const_basic_block, profile_probability, int); -static rtx_insn *first_active_insn (basic_block); -static rtx_insn *last_active_insn (basic_block, bool); -static rtx_insn *find_active_insn_before (basic_block, rtx_insn *); -static rtx_insn *find_active_insn_after (basic_block, rtx_insn *); -static basic_block block_fallthru (basic_block); -static rtx cond_exec_get_condition (rtx_insn *, bool); -static rtx noce_get_condition (rtx_insn *, rtx_insn **, bool); static bool noce_operand_ok (const_rtx); static void merge_if_block (ce_if_block *); static bool find_cond_trap (basic_block, edge, edge); -static basic_block find_if_header (basic_block, int); -static int block_jumps_and_fallthru (basic_block, basic_block); -static bool noce_find_if_block (basic_block, edge, edge, int); static bool cond_exec_find_if_block (ce_if_block *); static bool find_if_case_1 (basic_block, edge, edge); static bool find_if_case_2 (basic_block, edge, edge); static bool dead_or_predicable (basic_block, basic_block, basic_block, edge, bool); -static void noce_emit_move_insn (rtx, rtx); static rtx_insn *block_has_only_trap (basic_block); static void init_noce_multiple_sets_info (basic_block, auto_delete_vec<noce_multiple_sets_info> &); @@ -795,23 +782,6 @@ cond_exec_process_if_block (ce_if_block *ce_info, bool do_multiple_p) return false; } -static rtx noce_emit_store_flag (struct noce_if_info *, rtx, bool, int); -static bool noce_try_move (struct noce_if_info *); -static bool noce_try_ifelse_collapse (struct noce_if_info *); -static bool noce_try_store_flag (struct noce_if_info *); -static bool noce_try_addcc (struct noce_if_info *); -static bool noce_try_store_flag_constants (struct noce_if_info *); -static bool noce_try_shifted_store_flag (struct noce_if_info *); -static bool noce_try_store_flag_mask (struct noce_if_info *); -static rtx noce_emit_cmove (struct noce_if_info *, rtx, enum rtx_code, rtx, - rtx, rtx, rtx, rtx = NULL, rtx = NULL); -static bool noce_try_cmove (struct noce_if_info *); -static bool noce_try_cmove_arith (struct noce_if_info *); -static rtx noce_get_alt_condition (struct noce_if_info *, rtx, rtx_insn **); -static bool noce_try_minmax (struct noce_if_info *); -static bool noce_try_abs (struct noce_if_info *); -static bool noce_try_sign_mask (struct noce_if_info *); - /* Return the condition to use when the arms of IF_INFO's if-region are swapped, and set *CODE to its comparison code. When the reversed condition has no rtx of its own the original condition is returned alongside the @@ -2309,8 +2279,8 @@ noce_try_store_flag_mask (struct noce_if_info *if_info) static rtx noce_emit_cmove (struct noce_if_info *if_info, rtx x, enum rtx_code code, - rtx cmp_a, rtx cmp_b, rtx vfalse, rtx vtrue, rtx cc_cmp, - rtx rev_cc_cmp) + rtx cmp_a, rtx cmp_b, rtx vfalse, rtx vtrue, + rtx cc_cmp = NULL, rtx rev_cc_cmp = NULL) { rtx target; bool unsignedp;
