diff options
author | Jeff Law <jlaw@ventanamicro.com> | 2024-11-01 20:28:07 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2024-11-01 20:29:09 -0600 |
commit | 4a5a63596dd82d20fd1cc11a69ec1e4729225645 (patch) | |
tree | a6a78d8e486b7d8388f50874178681778075ab55 | |
parent | 0cb6078ca83f545bfe54b4064181dca6f81ce45d (diff) | |
download | gcc-4a5a63596dd82d20fd1cc11a69ec1e4729225645.zip gcc-4a5a63596dd82d20fd1cc11a69ec1e4729225645.tar.gz gcc-4a5a63596dd82d20fd1cc11a69ec1e4729225645.tar.bz2 |
[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.
-rw-r--r-- | gcc/config/ft32/ft32.cc | 13 | ||||
-rw-r--r-- | gcc/config/ft32/ft32.opt | 4 | ||||
-rw-r--r-- | 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 3c6e5fb..80345dc 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 cecc548..419c82a 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 fd6c0c4..8d92d46 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 |