On Tue, Oct 15, 2024 at 11:09 AM John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> wrote: > > PR target/66207 > * config/alpha/alpha.opt (mlra): New target option. > * config/alpha/alpha.cc (alpha_use_lra_p): New function. > (TARGET_LRA_P): Use it. > * config/alpha/alpha.opt.urls: Regenerate.
IMO, we should simply deprecate non-BWX targets. If reload is going away, then there is no way for non-BWX targets to access reload internals they require for compilation. As mentioned in the PR, non-BWX targets are removed from distros anyway, so I guess there is no point to invest much time to modernize them, Uros. > > Signed-off-by: John Paul Adrian Glaubitz <glaub...@physik.fu-berlin.de> > --- > gcc/config/alpha/alpha.cc | 10 +++++++++- > gcc/config/alpha/alpha.opt | 5 +++++ > gcc/config/alpha/alpha.opt.urls | 2 ++ > 3 files changed, 16 insertions(+), 1 deletion(-) > > v2: > - Rephrase patch short summary > > diff --git a/gcc/config/alpha/alpha.cc b/gcc/config/alpha/alpha.cc > index 74631a41693..218c66b6090 100644 > --- a/gcc/config/alpha/alpha.cc > +++ b/gcc/config/alpha/alpha.cc > @@ -9941,6 +9941,14 @@ alpha_c_mode_for_floating_type (enum tree_index ti) > return default_mode_for_floating_type (ti); > } > > +/* Implement TARGET_LRA_P. */ > + > +static bool > +alpha_use_lra_p () > +{ > + return alpha_lra_p; > +} > + > /* Initialize the GCC target structure. */ > #if TARGET_ABI_OPEN_VMS > # undef TARGET_ATTRIBUTE_TABLE > @@ -10124,7 +10132,7 @@ alpha_c_mode_for_floating_type (enum tree_index ti) > #endif > > #undef TARGET_LRA_P > -#define TARGET_LRA_P hook_bool_void_false > +#define TARGET_LRA_P alpha_use_lra_p > > #undef TARGET_LEGITIMATE_ADDRESS_P > #define TARGET_LEGITIMATE_ADDRESS_P alpha_legitimate_address_p > diff --git a/gcc/config/alpha/alpha.opt b/gcc/config/alpha/alpha.opt > index 62543d2689c..a4d6d58724a 100644 > --- a/gcc/config/alpha/alpha.opt > +++ b/gcc/config/alpha/alpha.opt > @@ -89,6 +89,11 @@ mlarge-text > Target RejectNegative InverseMask(SMALL_TEXT) > Emit indirect branches to local functions. > > +mlra > +Target Var(alpha_lra_p) Undocumented > +Usa LRA for reload instead of the old reload framework. This option is > +experimental, and it may be removed in future versions of the compiler. > + > mtls-kernel > Target Mask(TLS_KERNEL) > Emit rdval instead of rduniq for thread pointer. > diff --git a/gcc/config/alpha/alpha.opt.urls b/gcc/config/alpha/alpha.opt.urls > index a55c08328c3..916a3013f63 100644 > --- a/gcc/config/alpha/alpha.opt.urls > +++ b/gcc/config/alpha/alpha.opt.urls > @@ -44,6 +44,8 @@ UrlSuffix(gcc/DEC-Alpha-Options.html#index-msmall-data) > mlarge-data > UrlSuffix(gcc/DEC-Alpha-Options.html#index-mlarge-data) > > +; skipping UrlSuffix for 'mlra' due to finding no URLs > + > msmall-text > UrlSuffix(gcc/DEC-Alpha-Options.html#index-msmall-text) > > -- > 2.39.5 >