This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [10/32] Remove global call sets: combine.c
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 <segher@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 :-)
Segher