From: Wilco Dijkstra Date: Fri, 3 Nov 2017 15:20:53 +0000 (+0000) Subject: Set default sched pressure algorithm X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=13494fcb363e8a901db7768a851a9eed1dea62e3;p=gcc.git Set default sched pressure algorithm The Arm backend sets the default sched-pressure algorithm to SCHED_PRESSURE_MODEL. Benchmarking on AArch64 shows this speeds up floating point performance on SPEC - eg. CactusBSSN improves by ~16%. The gains are mostly due to less spilling, so enable this on AArch64 by default. gcc/ * config/aarch64/aarch64.c (aarch64_override_options_internal): Set PARAM_SCHED_PRESSURE_ALGORITHM to SCHED_PRESSURE_MODEL. From-SVN: r254378 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bbfdfe2f818..26cf22cca5f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-11-03 Wilco Dijkstra + + * config/aarch64/aarch64.c (aarch64_override_options_internal): + Set PARAM_SCHED_PRESSURE_ALGORITHM to SCHED_PRESSURE_MODEL. + 2017-11-03 Kito Cheng * config/riscv/riscv.c (riscv_legitimize_move): Handle diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index eb2d5f8ad45..1e12645cdd2 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -9110,6 +9110,11 @@ aarch64_override_options_internal (struct gcc_options *opts) opts->x_param_values, global_options_set.x_param_values); + /* Use the alternative scheduling-pressure algorithm by default. */ + maybe_set_param_value (PARAM_SCHED_PRESSURE_ALGORITHM, SCHED_PRESSURE_MODEL, + opts->x_param_values, + global_options_set.x_param_values); + /* Enable sw prefetching at specified optimization level for CPUS that have prefetch. Lower optimization level threshold by 1 when profiling is enabled. */