From 00e72aa4627bc8cbab70ad0a48efa221a7a707c8 Mon Sep 17 00:00:00 2001 From: Bill Schmidt Date: Thu, 27 Jun 2019 13:59:20 +0000 Subject: [PATCH] rs6000.c (rs6000_option_override_internal): Enable -fvariable-expansion-in-unroller by default. 2019-06-27 Bill Schmidt * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable -fvariable-expansion-in-unroller by default. * doc/invoke.texi (-fvariable-expansion-in-unroller): Document new default for Power. From-SVN: r272754 --- gcc/ChangeLog | 7 +++++++ gcc/config/rs6000/rs6000.c | 6 ++++++ gcc/doc/invoke.texi | 3 +++ 3 files changed, 16 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b94e7b2..93dbd4f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-06-27 Bill Schmidt + + * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable + -fvariable-expansion-in-unroller by default. + * doc/invoke.texi (-fvariable-expansion-in-unroller): Document new + default for Power. + 2019-06-27 David Edelsohn Revert diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 1837b31..3b59db5 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3616,6 +3616,12 @@ rs6000_option_override_internal (bool global_init_p) && !global_options_set.x_flag_asynchronous_unwind_tables) flag_asynchronous_unwind_tables = 1; + /* -fvariable-expansion-in-unroller is a win for POWER whenever the + loop unroller is active. It is only checked during unrolling, so + we can just set it on by default. */ + if (!global_options_set.x_flag_variable_expansion_in_unroller) + flag_variable_expansion_in_unroller = 1; + /* Set the pointer size. */ if (TARGET_64BIT) { diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 03d2895..04fd504 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -9849,6 +9849,9 @@ This optimization is enabled by default. With this option, the compiler creates multiple copies of some local variables when unrolling a loop, which can result in superior code. +This optimization is enabled by default for PowerPC targets, but disabled +by default otherwise. + @item -fpartial-inlining @opindex fpartial-inlining Inline parts of functions. This option has any effect only -- 2.7.4