On 9/25/19 9:52 AM, Richard Sandiford wrote:
> Segher Boessenkool <seg...@kernel.crashing.org> writes:
>> Hi Richard,
>>
>> Sorry this too me so long to get back to.
>>
>> On Thu, Sep 12, 2019 at 08:51:59AM +0100, Richard Sandiford wrote:
>>> Segher Boessenkool <seg...@kernel.crashing.org> writes:
>>>> On Wed, Sep 11, 2019 at 08:08:38PM +0100, Richard Sandiford wrote:
>>>>>        hard_reg_set_iterator hrsi;
>>>>> -      EXECUTE_IF_SET_IN_HARD_REG_SET (regs_invalidated_by_call, 0, i, 
>>>>> hrsi)
>>>>> +      EXECUTE_IF_SET_IN_HARD_REG_SET (abi.full_and_partial_reg_clobbers 
>>>>> (),
>>>>> +                               0, i, hrsi)
>>>>
>>>> So "abi" in that means calls?
>>>
>>> "abi" is the interface of the callee function, taking things like
>>> function attributes and -fipa-ra into account.
>>>
>>> The register sets are describing what the callee does rather than
>>> what calls to it do.  E.g. on targets that allow linker stubs to be
>>> inserted between calls, the scratch registers reserved for linker stubs
>>> are still call-clobbered, even if the target of the call doesn't use
>>> them.  (Those call clobbers are represented separately, at least when
>>> TARGET_CALL_FUSAGE_CONTAINS_NON_CALLEE_CLOBBERS is true.  When it's
>>> false we don't use -fipa-ra information at all.)
>>>
>>>> It is not such a great name like that.  Since its children are
>>>> very_long_names, it doesn't need to be only three chars itself,
>>>> either?
>>>
>>> OK, what name would you prefer?
>>
>> Maybe call_abi is a good name?  It's difficult to capture the subtleties
>> in a short enough name.  As always :-)
> 
> The formatting ended up being a bit weird with a longer name,
> so how about the attached instead?
> 
> Richard
> 
> 
> 2019-09-25  Richard Sandiford  <richard.sandif...@arm.com>
> 
> gcc/
>       * combine.c: Include function-abi.h.
>       (record_dead_and_set_regs): Use insn_callee_abi to get the ABI
>       of the target of call insns.  Invalidate partially-clobbered
>       registers as well as fully-clobbered ones.
OK if Segher doesn't object.

jeff
> 

Reply via email to