On Sat, Sep 7, 2024, 11:07 AM Georg-Johann Lay <a...@gjlay.de> wrote:

> Am 07.09.24 um 19:51 schrieb H.J. Lu:
> > On Sat, Sep 7, 2024 at 10:49 AM Georg-Johann Lay <a...@gjlay.de> wrote:
> >> Am 07.09.24 um 18:35 schrieb Jeff Law:
> >>> On 9/6/24 3:40 AM, Georg-Johann Lay wrote:
> >>>> The reason for PR116326 is that LRA and reload require different
> >>>> ELIMINABLE_REGS for a multi-register frame pointer.  As
> ELIMINABLE_REGS
> >>>> is used to initialize static const objects, it is not possible to make
> >>>> ELIMINABLE_REGS to depend on options or patch it in some target hook.
> >>>>
> >>>> It was also concluded that it is not desirable to adjust reload so
> that
> >>>> it behaves like LRA, but a hack like #define IN_RELOAD1_CC at the top
> >>>> of reload1.cc would be fine, see
> >>>>
> >>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116326#c8
> >>>>
> >>>> This is an according patch that defines IN_RELOAD1_CC and uses it in
> >>>> avr.h to define ELIMINABLE_REGS.
> >>>>
> >>>> This is only required for trunk.
> >>>>
> >>>> PR116326 occurred for some test case in avr-torture.exp, so I didn't
> >>>> duplicate the test case.
> >>>>
> >>>> As it appears, this patch also fixes:
> >>>>
> >>>> https://gcc.gnu.org/PR116324
> >>>> https://gcc.gnu.org/PR116325
> >>>> https://gcc.gnu.org/PR116550
> >>>>
> >>>> Johann
> >>>>
> >>>> --
> >>>>
> >>>> AVR: target/116326 - Adjust ELIMINABLE_REGS to reload resp. LRA.
> >>>>
> >>>>       PR target/116326
> >>>> gcc/
> >>>>       * reload1.cc (IN_RELOAD1_CC): Define prior to all includes.
> >>>>       * config/avr/avr.h (ELIMINABLE_REGS): Depend on IN_RELOAD1_CC.
> >>> I'm going to have to NAK this.  It's too hackish, even with reload
> going
> >>> away....
> >>>
> >>> Jeff
> >>
> >> So what is your proposal?
> >>
> >> I'd agree with Richard that we don't want to change reload
> >> implementations such that they agree on ELIMINABLE_REGS.
> >>
> >> A different way would be to change reload1.cc such that it includes
> >> reload.h prior to tm.h, i.e. prior to backend.h.  This would make the
> >> hack avr realm entirely, but it won't be trivially no-op.
> >>
> >> Johann
> >
> > Why not add RELOAD_ELIMINABLE_REGS and default it
> > to ELIMINABLE_REGS?
>
> I can't find RELOAD_ELIMINABLE_REGS anywhere.
> So are you proposing a new hook macro?
>

A new macro.


> Johann
>
>

Reply via email to