diff options
author | Richard Biener <rguenther@suse.de> | 2019-01-30 15:11:04 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2019-01-30 15:11:04 +0000 |
commit | 2eb8a3e56f06618711aed111e3e61f4ac67f3d49 (patch) | |
tree | 713b95270f2b6e9f8d4617e1724d3d8b9d40ee55 /gcc/opts.c | |
parent | de0c04f99c561d71a97ad3e89c09027c1815d804 (diff) | |
download | gcc-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.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -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. */ |