rs6000.c (rs6000_option_override_internal): Enable -fvariable-expansion-in-unroller...
authorBill Schmidt <wschmidt@linux.ibm.com>
Thu, 27 Jun 2019 13:59:20 +0000 (13:59 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Thu, 27 Jun 2019 13:59:20 +0000 (13:59 +0000)
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.

From-SVN: r272754

gcc/ChangeLog
gcc/config/rs6000/rs6000.c
gcc/doc/invoke.texi

index b94e7b2..93dbd4f 100644 (file)
@@ -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
index 1837b31..3b59db5 100644 (file)
@@ -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)
     {
index 03d2895..04fd504 100644 (file)
@@ -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