https://gcc.gnu.org/g:4a5a63596dd82d20fd1cc11a69ec1e4729225645

commit r15-4859-g4a5a63596dd82d20fd1cc11a69ec1e4729225645
Author: Jeff Law <j...@ventanamicro.com>
Date:   Fri Nov 1 20:28:07 2024 -0600

    [committed] Make LRA default for ft32 and remove -mlra option
    
    I was looking to clean up an old patch I'm carrying in my tester.  My first
    thought was that ft32 was likely going to be deprecated because it wasn't 
using
    LRA -- which in turn would mean the patch in question could just be removed.
    
    But then I checked, ft32 has an LRA option and if turned on it gets the 
exact
    same test results as with reload.  While the port mentions a failure with
    sieve.c, that's been there since the port was introduced in 2015.
    
    It's working well enough that I think just converting it is the right thing 
to
    do.  The testsuite patch which precipitated this one will follow separately.
    I've kept the -mlra option for compatibility sake, but it's ignored.
    
    Pushing to the trunk.
    
    gcc/
            * config/ft32/ft32.cc (ft32_lra_p): Remove.
            (TARGET_LRA_P): Likewise.
            * config/ft32/ft32.opt: Make -mlra ignored.
            * doc/invoke.texi: Adjust documentation for -mlra on ft32.

Diff:
---
 gcc/config/ft32/ft32.cc  | 13 -------------
 gcc/config/ft32/ft32.opt |  4 ++--
 gcc/doc/invoke.texi      |  3 +--
 3 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/gcc/config/ft32/ft32.cc b/gcc/config/ft32/ft32.cc
index 3c6e5fb1f6ca..80345dcdd7eb 100644
--- a/gcc/config/ft32/ft32.cc
+++ b/gcc/config/ft32/ft32.cc
@@ -831,19 +831,6 @@ ft32_target_case_values_threshold (void)
   ft32_addr_space_legitimate_address_p
 
 
-// Enabling LRA gives the infamous
-//    internal compiler error: Max. number of generated reload insns per insn 
is achieved (90)
-// errors e.g. when compiling sieve.c
-
-static bool
-ft32_lra_p (void)
-{
-  return ft32_lra_flag;
-}
-
-#undef TARGET_LRA_P
-#define TARGET_LRA_P ft32_lra_p
-
 static bool
 reg_ok_for_base_p (rtx r, bool strict)
 {
diff --git a/gcc/config/ft32/ft32.opt b/gcc/config/ft32/ft32.opt
index cecc54845e30..419c82a7102e 100644
--- a/gcc/config/ft32/ft32.opt
+++ b/gcc/config/ft32/ft32.opt
@@ -23,8 +23,8 @@ Target Mask(SIM)
 Target the software simulator.
 
 mlra
-Target Var(ft32_lra_flag) Init(0) Save
-Use LRA instead of reload.
+Target RejectNegative Ignore
+Ignored, but preserved for backward compatibility.
 
 mnodiv
 Target Mask(NODIV)
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index fd6c0c447096..8d92d46eca16 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -25998,8 +25998,7 @@ I/O functions are needed.
 
 @opindex mlra
 @item -mlra
-Enable Local Register Allocation.  This is still experimental for FT32,
-so by default the compiler uses standard reload.
+Does nothing.  Preserved for backward compatibility.
 
 @opindex mnodiv
 @item -mnodiv

Reply via email to