aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-01-30 15:11:04 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-01-30 15:11:04 +0000
commit2eb8a3e56f06618711aed111e3e61f4ac67f3d49 (patch)
tree713b95270f2b6e9f8d4617e1724d3d8b9d40ee55 /gcc/opts.c
parentde0c04f99c561d71a97ad3e89c09027c1815d804 (diff)
downloadgcc-2eb8a3e56f06618711aed111e3e61f4ac67f3d49.zip
gcc-2eb8a3e56f06618711aed111e3e61f4ac67f3d49.tar.gz
gcc-2eb8a3e56f06618711aed111e3e61f4ac67f3d49.tar.bz2
re PR rtl-optimization/89115 (compile time and memory hog)
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
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index 79b7279..468abb1 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -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. */