aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/rs6000/rs6000.c6
-rw-r--r--gcc/doc/invoke.texi3
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