diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 6 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 3 |
3 files changed, 16 insertions, 0 deletions
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 <wschmidt@linux.ibm.com> + + * 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 <dje.gcc@gmail.com> 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 |