On Tue, Oct 09 2018, Martin Liška wrote:
> Hi.
>
> Utilizing rtags' --find-dead-functions I'm suggesting a removal of part
> of the functions reported with the script. I built all cross compilers
> defined in contrib/config-list.mk and I fixed VMS targets that I broke
> in previous removal.
>
> If the folks are happy with the removal, I can probably continue with that
> at some point in stage3 or so.
>
> Ready for trunk?
> Thanks,
> Martin
> From f69d866da42a46783ab57181692583d2ecf30c49 Mon Sep 17 00:00:00 2001
> From: marxin <mli...@suse.cz>
> Date: Fri, 5 Oct 2018 16:59:07 +0200
> Subject: [PATCH] Remove dead functions and fix VMS target by moving back some
>  functions.
>
> gcc/ChangeLog:
>
> 2018-10-09  Martin Liska  <mli...@suse.cz>
>
>       * attribs.c (register_attribute): Remove unused functions.
>       * cfganal.c (control_dependences::clear_control_dependence_bitmap): 
> Likewise.
>       (bitmap_union_of_succs): Likewise.
>       * cfganal.h (bitmap_union_of_succs): Likewise.
>       * cfgloop.c (loop_exits_to_bb_p): Likewise.
>       * cfgloop.h (loop_exits_to_bb_p): Likewise.
>       * cgraph.h (compute_call_stmt_bb_frequency): Likewise.
>       * cgraphbuild.c (compute_call_stmt_bb_frequency): Likewise.
>       * cselib.c (cselib_dummy_expand_value_rtx_cb): Likewise.
>       * cselib.h (cselib_dummy_expand_value_rtx_cb): Likewise.
>       * df-core.c (df_reg_defined): Likewise.
>       (df_reg_used): Likewise.
>       * df-scan.c (df_hard_reg_used_count): Likewise.
>       * df.h (df_reg_defined): Likewise.
>       (df_reg_used): Likewise.
>       (df_hard_reg_used_count): Likewise.
>       * dojump.c (init_pending_stack_adjust): Likewise.
>       * dojump.h (init_pending_stack_adjust): Likewise.
>       * dwarf2out.c (add_AT_vms_delta): Move function back after
>       removal.
>       (dwarf2out_set_demangle_name_func): REmove unused functions.
>       * dwarf2out.h (dwarf2out_set_demangle_name_func): Likewise.
>       * emit-rtl.c (emit_jump_insn_before_noloc): Likewise.
>       (emit_call_insn_before_noloc): Likewise.
>       (emit_barrier_before): Likewise.
>       (emit_call_insn_after_noloc): Likewise.
>       (emit_call_insn_after_setloc): Likewise.
>       (emit_jump_insn_before_setloc): Likewise.
>       (emit_call_insn_before_setloc): Likewise.
>       (emit_call_insn_before): Likewise.
>       * except.c (remove_eh_handler): Likewise.
>       (get_eh_region_from_rtx): Likewise.
>       * except.h (remove_eh_handler): Likewise.
>       (get_eh_region_from_rtx): Likewise.
>       * fold-const.c (div_if_zero_remainder): Likewise.
>       (fold_unary_to_constant): Likewise.
>       * fold-const.h (fold_unary_to_constant): Likewise.
>       (div_if_zero_remainder): Likewise.
>       * function.c (get_hard_reg_initial_reg): Likewise.
>       (get_last_funcdef_no): Likewise.
>       * function.h (get_hard_reg_initial_reg): Likewise.
>       (get_last_funcdef_no): Likewise.
>       * ggc-common.c (ggc_cleared_alloc_htab_ignore_args): Likewise.
>       (ggc_cleared_alloc_ptr_array_two_args): Likewise.
>       (ggc_splay_alloc): Likewise.
>       (ggc_splay_dont_free): Likewise.
>       * gimple-expr.c (is_gimple_address): Likewise.
>       * gimple-expr.h (is_gimple_address): Likewise.
>       * gimple-iterator.c (gsi_for_phi): Likewise.
>       * gimple-iterator.h (gsi_for_phi): Likewise.
>       * gimple-ssa-sprintf.c (struct format_result): Likewise.
>       (format_result::operator+=): Likewise.
>       (struct directive): Likewise.
>       * gimple-ssa-warn-alloca.c (struct alloca_type_and_limit): Likewise.
>       * gimple.c (gimple_unsigned_type): Likewise.
>       (gimple_call_builtin_p): Likewise.
>       * gimple.h (gimple_unsigned_type): Likewise.
>       (gimple_call_builtin_p): Likewise.
>       * gimplify.c (gimple_current_bind_expr): Likewise.
>       * gimplify.h (gimple_current_bind_expr): Likewise.
>       * haifa-sched.c (haifa_classify_insn): Likewise.
>       * hsa-common.c (hsa_add_kernel_dependency): Likewise.
>       (hsa_brig_function_name): Likewise.
>       * hsa-common.h (hsa_add_kernel_dependency): Likewise.
>       (hsa_brig_function_name): Likewise.
>       * ipa-cp.c (ipcp_vr_lattice::meet_with): Likewise.

Interesting, I believe that a class representing a lattice should have a
meet function with its own type.  In this case it would mean moving the
call to ipa_vr_operation_and_type_effects from the caller into the
method to clearly describe the semantics.  But perhaps it does not
matter if we do not have the overload in the meantime.

>       * ipa-devirt.c (vtable_pointer_value_to_binfo): Likewise.
>       * ipa-icf-gimple.c (func_checker::compare_tree_ssa_label): Likewise.
>       * ipa-icf-gimple.h: Likewise.
>       * ipa-icf.c (sem_item::sem_item): Likewise.
>       (sem_function::sem_function): Likewise.
>       (sem_function::icf_handled_component_p): Likewise.
>       (sem_variable::sem_variable): Likewise.
>       * ipa-icf.h: Likewise.
>       * ipa-param-manipulation.c (index_in_adjustments_multiple_times_p): 
> Likewise.
>       (ipa_combine_adjustments): Likewise.

This a known case.  I mean, also have a patch removing, actually
replacing it, but the goal has always been that we eventually combine
adjustments.

Martin


Reply via email to