re PR rtl-optimization/89115 (compile time and memory hog)
authorRichard Biener <rguenther@suse.de>
Wed, 30 Jan 2019 15:11:04 +0000 (15:11 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 30 Jan 2019 15:11:04 +0000 (15:11 +0000)
2019-01-30  Richard Biener  <rguenther@suse.de>

PR rtl-optimization/89115
* opts.c (default_options_optimization): Reduce
PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
to the default.

From-SVN: r268394

gcc/ChangeLog
gcc/opts.c

index e63082a724937b03b153e001bb7b0a40eedcc267..fea61ea92ddfcfd740577d80e5ff30610a2052e7 100644 (file)
@@ -1,3 +1,11 @@
+2019-01-30  Richard Biener  <rguenther@suse.de>
+
+       PR rtl-optimization/89115
+       * opts.c (default_options_optimization): Reduce
+       PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
+       Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
+       to the default.
+
 2019-01-30  Kelvin Nilsen  <kelvin@gcc.gnu.org>
 
        * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin):
index 79b7279c024c295ada3fd1f67b269617816b5b81..468abb16334c4e66dbc64aea82fca5ba16a83fc7 100644 (file)
@@ -670,7 +670,16 @@ default_options_optimization (struct gcc_options *opts,
   /* For -O1 only do loop invariant motion for very small loops.  */
   maybe_set_param_value
     (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP,
-     opt2 ? default_param_value (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP) : 1000,
+     opt2 ? default_param_value (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP)
+     : default_param_value (PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP) / 10,
+     opts->x_param_values, opts_set->x_param_values);
+
+  /* For -O1 reduce the maximum number of active local stores for RTL DSE
+     since this can consume huge amounts of memory (PR89115).  */
+  maybe_set_param_value
+    (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES,
+     opt2 ? default_param_value (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES)
+     : default_param_value (PARAM_MAX_DSE_ACTIVE_LOCAL_STORES) / 10,
      opts->x_param_values, opts_set->x_param_values);
 
   /* At -Ofast, allow store motion to introduce potential race conditions.  */