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