diff options
author | Wilco Dijkstra <wdijkstr@arm.com> | 2017-11-03 15:20:53 +0000 |
---|---|---|
committer | Wilco Dijkstra <wilco@gcc.gnu.org> | 2017-11-03 15:20:53 +0000 |
commit | 13494fcb363e8a901db7768a851a9eed1dea62e3 (patch) | |
tree | 4d0e10fb4d71d01e1010c6491ac93a060f641f60 /gcc | |
parent | 13e4f305e040097de34481a72756dbe0ebd06dbc (diff) | |
download | gcc-13494fcb363e8a901db7768a851a9eed1dea62e3.zip gcc-13494fcb363e8a901db7768a851a9eed1dea62e3.tar.gz gcc-13494fcb363e8a901db7768a851a9eed1dea62e3.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bbfdfe2..26cf22c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2017-11-03 Wilco Dijkstra <wdijkstr@arm.com> + + * config/aarch64/aarch64.c (aarch64_override_options_internal): + Set PARAM_SCHED_PRESSURE_ALGORITHM to SCHED_PRESSURE_MODEL. + 2017-11-03 Kito Cheng <kito.cheng@gmail.com> * config/riscv/riscv.c (riscv_legitimize_move): Handle diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index eb2d5f8..1e12645 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. */ |