On 9/11/19 1:18 PM, Richard Sandiford wrote:
> The main change here is to replace a crosses_call boolean with
> a bitmask of the ABIs used by the crossed calls.  For space reasons,
> I didn't also add a HARD_REG_SET that tracks the set of registers
> that are actually clobbered, which means that this is the one part
> of the series that doesn't benefit from -fipa-ra.  The existing
> FIXME suggests that the current structures aren't the preferred
> way of representing this anyhow, and the pass already makes
> conservative assumptions about call-crossing registers.
> 
> 
> 2019-09-11  Richard Sandiford  <richard.sandif...@arm.com>
> 
> gcc/
>       * sel-sched-ir.h (_def::crosses_call): Replace with...
>       (_def::crossed_call_abis): ..this new field.
>       (def_list_add): Take a mask of ABIs instead of a crosses_call
>       boolean.
>       * sel-sched-ir.c (def_list_add): Likewise.  Update initialization
>       of _def accordingly.
>       * sel-sched.c: Include function-abi.h.
>       (hard_regs_data::regs_for_call_clobbered): Delete.
>       (reg_rename::crosses_call): Replace with...
>       (reg_rename::crossed_call_abis): ...this new field.
>       (fur_static_params::crosses_call): Replace with...
>       (fur_static_params::crossed_call_abis): ...this new field.
>       (init_regs_for_mode): Don't initialize sel_hrd.regs_for_call_clobbered.
>       (init_hard_regs_data): Use crtl->abi to test which registers the
>       current function would need to save before it uses them.
>       (mark_unavailable_hard_regs): Update handling of call-clobbered
>       registers, using call_clobbers_in_region to find out which registers
>       might be call-clobbered (but without taking -fipa-ra into account
>       for now).  Remove separate handling of partially call-clobbered
>       registers.
>       (verify_target_availability): Use crossed_call_abis instead of
>       crosses_call.
>       (get_spec_check_type_for_insn, find_used_regs): Likewise.
>       (fur_orig_expr_found, fur_on_enter, fur_orig_expr_not_found): Likewise.
> 
OK
jeff

Reply via email to