On 10/9/18 10:34 PM, Martin Jambor wrote: > 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 >> 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 >> >> * 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. I've just tried to put gcc_unreachable there, but can't find anything that would trigger an ICE. I also run tests on x86_64-linux-gnu (with removed ipcp_vr_lattice::meet_with) and it looks fine. I'm adding updated version of the patch where I moved back register_attribute, it's used in attribute_plugin test. Martin 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 > >