Hi!

On Fri, May 02, 2025 at 12:11:37PM +0200, Richard Biener wrote:
> This mini-series removes the TARGET_LRA_P hook, forcing all targets
> to use LRA.  I have not touched the targets that define -mlra
> in terms of a 'Target Mask(XXX)' since IIRC there's no way to
> "default" that.  I'd expect those to wrongly assume LRA isn't enabled
> when using that XXX flag.  Likewise this defers removal of -mlra
> and the TARGET_LRA_P hook from targets with a -mlra flag.

This kind of thing is very counter-productive, I'm afraid.  It makes it
much harder for me to actually get rid of LRA (I have a series to do
that since more than four years ago), and patches like this mightily
conflict with that.

I do have patches that do this and much much more.

> I'd appreciate target maintainers of targets with a -mlra to
> enable LRA by default and unconditionally (aka, remove -mlra)
> themselves.  Eventually that work will be done in a more-or-less
> unchecked way later.

Yeah, per-target fallout should be fixed per target.

> This RFC is first and foremost to remind people that the talk
> to deprecate reload comes up repeatedly - I can find the last

It was agreed that I could delete old reload completely in GCC 16.
I should have something ready in a week or so (almost everything needs
to be redone because of unrelated changes, again).


Segher


> proposal for GCC 13 and somehow remember we agreed to finally
> go there for GCC 15, thus remove reload this stage1 though I
> cannot find any such announcement.  There's still time to amend
> gcc-15/changes.html though.
> 
> Jeff, I wonder if you can push 1/3 to your tester and verify
> which targets get as far as building their [libgcc] target library
> and thus would retain basic C language testing.
> 
> 
> Richard Biener (3):
>   Force targets to use LRA which opted out via hook_bool_void_false
>   Flip default to LRA for targets with -mlra
>   Remove TARGET_LRA_P hook
> 
>  gcc/auto-inc-dec.cc           |  5 ++---
>  gcc/combine.cc                |  2 +-
>  gcc/config/alpha/alpha.cc     |  3 ---
>  gcc/config/avr/avr.opt        |  2 +-
>  gcc/config/bfin/bfin.cc       |  3 ---
>  gcc/config/c6x/c6x.cc         |  3 ---
>  gcc/config/fr30/fr30.cc       |  3 ---
>  gcc/config/frv/frv.cc         |  3 ---
>  gcc/config/lm32/lm32.cc       |  2 --
>  gcc/config/m32c/m32c.cc       |  3 ---
>  gcc/config/m68k/m68k.opt      |  2 +-
>  gcc/config/mcore/mcore.cc     |  3 ---
>  gcc/config/mn10300/mn10300.cc |  3 ---
>  gcc/config/msp430/msp430.cc   |  3 ---
>  gcc/config/pa/pa.opt          |  2 +-
>  gcc/config/rl78/rl78.cc       |  3 ---
>  gcc/config/sh/sh.opt          |  2 +-
>  gcc/config/visium/visium.cc   |  3 ---
>  gcc/doc/tm.texi               | 21 +++++++--------------
>  gcc/doc/tm.texi.in            |  2 --
>  gcc/ira-lives.cc              |  5 -----
>  gcc/ira.cc                    |  2 +-
>  gcc/recog.cc                  |  2 +-
>  gcc/target.def                | 26 ++++++++------------------
>  gcc/targhooks.cc              | 10 ----------
>  gcc/targhooks.h               |  1 -
>  26 files changed, 24 insertions(+), 95 deletions(-)
> 
> -- 
> 2.43.0

Reply via email to