On 9/11/19 1:05 PM, Richard Sandiford wrote:
> This patch replaces the rtx_insn argument to
> targetm.hard_regno_call_part_clobbered with an ABI identifier, since
> call insns are now just one possible way of getting an ABI handle.
> This in turn allows predefined_function_abi::initialize to do the
> right thing for non-default ABIs.
>
> The horrible ?: in need_for_call_save_p goes away in a later patch,
> with the series as a whole removing most direct calls to the hook in
> favour of function_abi operations.
>
>
> 2019-09-11 Richard Sandiford <richard.sandif...@arm.com>
>
> gcc/
> * target.def (hard_regno_call_part_clobbered): Take an ABI
> identifier instead of an rtx_insn.
> * doc/tm.texi: Regenerate.
> * hooks.h (hook_bool_insn_uint_mode_false): Delete.
> (hook_bool_uint_uint_mode_false): New function.
> * hooks.c (hook_bool_insn_uint_mode_false): Delete.
> (hook_bool_uint_uint_mode_false): New function.
> * config/aarch64/aarch64.c (aarch64_hard_regno_call_part_clobbered):
> Take an ABI identifier instead of an rtx_insn.
> * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Likewise.
> * config/i386/i386.c (ix86_hard_regno_call_part_clobbered): Likewise.
> * config/mips/mips.c (mips_hard_regno_call_part_clobbered): Likewise.
> * config/pru/pru.c (pru_hard_regno_call_part_clobbered): Likewise.
> * config/rs6000/rs6000.c (rs6000_hard_regno_call_part_clobbered):
> Likewise.
> * config/s390/s390.c (s390_hard_regno_call_part_clobbered): Likewise.
> * cselib.c: Include function-abi.h.
> (cselib_process_insn): Update call to
> targetm.hard_regno_call_part_clobbered, using call_insn_abi
> to get the appropriate ABI identifier.
> * function-abi.cc (predefined_function_abi::initialize): Update call
> to targetm.hard_regno_call_part_clobbered.
> * ira-conflicts.c (ira_build_conflicts): Likewise.
> * ira-costs.c (ira_tune_allocno_costs): Likewise.
> * lra-constraints.c: Include function-abi.h.
> (need_for_call_save_p): Update call to
> targetm.hard_regno_call_part_clobbered, using call_insn_abi
> to get the appropriate ABI identifier.
> * lra-lives.c (check_pseudos_live_through_calls): Likewise.
> * regcprop.c (copyprop_hardreg_forward_1): Update call
> to targetm.hard_regno_call_part_clobbered.
> * reginfo.c (choose_hard_reg_mode): Likewise.
> * regrename.c (check_new_reg_p): Likewise.
> * reload.c (find_equiv_reg): Likewise.
> * reload1.c (emit_reload_insns): Likewise.
> * sched-deps.c: Include function-abi.h.
> (deps_analyze_insn): Update call to
> targetm.hard_regno_call_part_clobbered, using call_insn_abi
> to get the appropriate ABI identifier.
> * sel-sched.c (init_regs_for_mode, mark_unavailable_hard_regs): Update
> call to targetm.hard_regno_call_part_clobbered.
> * targhooks.c (default_dwarf_frame_reg_mode): Likewise.
>
OK
jeff