On Fri, May 15, 2026 at 7:59 PM Richard Sandiford <[email protected]> wrote: > > "H.J. Lu" <[email protected]> writes: > > Since the caller can save a register only if the register is enabled in > > the caller, change caller_save_regs to return the enabled registers. > > > > PR rtl-optimization/125321 > > * function-abi.cc (function_abi_aggregator::caller_save_regs): > > Return the enabled registers. > > > > Signed-off-by: H.J. Lu <[email protected]> > > Co-Authored by: Richard Sandiford <[email protected]> > > Thanks for adding the Co-Authored-By, but I don't think it's necessary. > It was just a review comment. If you keep it, I can't review it :)
I will drop it. > Otherwise... > > > -- > > H.J. > > > > From 30d23f5416a46d0d19a21ae98d983bf97e2aa76e Mon Sep 17 00:00:00 2001 > > From: "H.J. Lu" <[email protected]> > > Date: Fri, 15 May 2026 08:01:56 +0800 > > Subject: [PATCH v2] caller_save_regs: Return the enabled registers > > > > Since the caller can save a register only if the register is enabled in > > the caller, change caller_save_regs to return the enabled registers. > > > > PR rtl-optimization/125321 > > * function-abi.cc (function_abi_aggregator::caller_save_regs): > > Return the enabled registers. > > ...OK, thanks. I am checking it in without Co-Authored by: Richard Sandiford <[email protected]> > Richard > > > Signed-off-by: H.J. Lu <[email protected]> > > Co-Authored by: Richard Sandiford <[email protected]> > > --- > > gcc/function-abi.cc | 5 ++++- > > 1 file changed, 4 insertions(+), 1 deletion(-) > > > > diff --git a/gcc/function-abi.cc b/gcc/function-abi.cc > > index df1d2e5765b..53a76dc2341 100644 > > --- a/gcc/function-abi.cc > > +++ b/gcc/function-abi.cc > > @@ -159,7 +159,10 @@ caller_save_regs (const function_abi &caller_abi) const > > clobbers for (e.g. taking -fipa-ra into account). */ > > result |= (extra_clobbers & m_abi_clobbers[abi_id]); > > } > > - return result; > > + > > + /* The caller can save a register only if the register is enabled in > > + the caller. */ > > + return result & accessible_reg_set; > > } > > > > /* Return the set of registers that cannot be used to hold a value of -- H.J.
