On 9/11/19 1:17 PM, Richard Sandiford wrote:
> The reg_set_p part is simple, since the caller is asking about
> a specific REG rtx, with a known register number and mode.
>
> The find_all_hard_reg_sets part emphasises that the "implicit"
> behaviour was always a bit suspect, since it includes fully-clobbered
> registers but not partially-clobbered registers. The only current
> user of this path is the c6x-specific scheduler predication code,
> and c6x doesn't have partly call-clobbered registers, so in practice
> it's fine. I've added a comment to try to disuade future users.
> (The !implicit path is OK and useful though.)
>
>
> 2019-09-11 Richard Sandiford <richard.sandif...@arm.com>
>
> gcc/
> * rtlanal.c: Include function-abi.h.
> (reg_set_p): Use call_insn_abi to get the ABI of the called
> function and clobbers_reg_p to test whether the register
> is call-clobbered.
> (find_all_hard_reg_sets): When implicit is true, use call_insn_abi
> to get the ABI of the called function and full_reg_clobbers to
> get the set of fully call-clobbered registers. Warn about the
> pitfalls of using this mode.
OK
jeff