[v5,1/4] rs6000: Enable REE pass by default
Commit Message
Hello All:
This patch enable ree pass as a default pass for rs6000 target.
Bootstrapped and regtested for powerpc64-linux-gnu.
Thanks & Regards
Ajit
rs6000: Enable REE pass by default
Add ree pass as a default pass for rs6000 target for
O2 and above.
2023-05-16 Ajit Kumar Agarwal <aagarwa1@linux.ibm.com>
gcc/ChangeLog:
* common/config/rs6000/rs6000-common.cc: Add REE pass as a
default rs6000 target pass for O2 and above.
* doc/invoke.texi: Document -free
---
gcc/common/config/rs6000/rs6000-common.cc | 2 ++
gcc/doc/invoke.texi | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
Comments
Hi!
On Tue, May 16, 2023 at 11:45:28AM +0530, Ajit Agarwal wrote:
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -12455,8 +12455,8 @@ Attempt to remove redundant extension instructions. This is especially
> helpful for the x86-64 architecture, which implicitly zero-extends in 64-bit
> registers after writing to their lower 32-bit half.
>
> -Enabled for Alpha, AArch64 and x86 at levels @option{-O2},
> -@option{-O3}, @option{-Os}.
> +Enabled for Alpha, AArch64, RS/6000, RISC-V, SPARC, h83000 and x86 at levels
> +@option{-O2}, @option{-O3}, @option{-Os}.
Please don't mention RS/6000, we don't support that anymore. The
architecture we do support is called Power or PowerPC; the target
triplets are powerpc*-*-*. rs6000-*-* might still somewhat work, but
no one should use it anymore, and we probably should delete it.
Please say PowerPC here.
With that the patch is okay for trunk. Thank you!
Segher
@@ -34,6 +34,8 @@ static const struct default_options rs6000_option_optimization_table[] =
{ OPT_LEVELS_ALL, OPT_fsplit_wide_types_early, NULL, 1 },
/* Enable -fsched-pressure for first pass instruction scheduling. */
{ OPT_LEVELS_1_PLUS, OPT_fsched_pressure, NULL, 1 },
+ /* Enable -free for zero extension and sign extension elimination.*/
+ { OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 },
/* Enable -munroll-only-small-loops with -funroll-loops to unroll small
loops at -O2 and above by default. */
{ OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_funroll_loops, NULL, 1 },
@@ -12455,8 +12455,8 @@ Attempt to remove redundant extension instructions. This is especially
helpful for the x86-64 architecture, which implicitly zero-extends in 64-bit
registers after writing to their lower 32-bit half.
-Enabled for Alpha, AArch64 and x86 at levels @option{-O2},
-@option{-O3}, @option{-Os}.
+Enabled for Alpha, AArch64, RS/6000, RISC-V, SPARC, h83000 and x86 at levels
+@option{-O2}, @option{-O3}, @option{-Os}.
@opindex fno-lifetime-dse
@opindex flifetime-dse