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.
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. This RFC is first and foremost to remind people that the talk to deprecate reload comes up repeatedly - I can find the last 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