diff mbox series

alpha: Add -mlra

Message ID 20241015084346.3477168-1-glaubitz@physik.fu-berlin.de
State New
Headers show
Series alpha: Add -mlra | expand

Commit Message

John Paul Adrian Glaubitz Oct. 15, 2024, 8:43 a.m. UTC
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.

Signed-off-by: John Paul Adrian Glaubitz <glaubitz@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(-)
diff mbox series

Patch

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)