aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2019-10-14 12:21:14 +0000
committerWilco Dijkstra <wilco@gcc.gnu.org>2019-10-14 12:21:14 +0000
commitc7207339a7dbce5b68f872064e624dcf1639ba46 (patch)
tree3fdec4e4d17c72bb738c9859b3454f12d7e6d46f /gcc
parent7bd8bec53f0e43c7a7852c54650746e65324514b (diff)
downloadgcc-c7207339a7dbce5b68f872064e624dcf1639ba46.zip
gcc-c7207339a7dbce5b68f872064e624dcf1639ba46.tar.gz
gcc-c7207339a7dbce5b68f872064e624dcf1639ba46.tar.bz2
[ARM] Switch to default sched pressure algorithm
Currently the Arm backend selects the alternative sched pressure algorithm. The issue is that this doesn't take register pressure into account, and so it causes significant additional spilling on Arm where there are only 14 allocatable registers. Building SPEC2006 showed significant codesize gains with the default pressure algorithm, so switch back to that. PR77308 shows ~800 fewer instructions. SPECINT2006 is ~0.6% faster on Cortex-A57 together with the other DImode patches. Overall SPEC codesize is 1.1% smaller. gcc/ * config/arm/arm.c (arm_option_override): Don't override sched pressure algorithm. From-SVN: r276960
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/arm.c5
2 files changed, 5 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c2cbd42..f07a0e6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-14 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * config/arm/arm.c (arm_option_override): Don't override sched
+ pressure algorithm.
+
2019-10-14 Richard Biener <rguenther@suse.de>
PR tree-optimization/92069
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 39e1a1e..394b1dd 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -3555,11 +3555,6 @@ arm_option_override (void)
global_options.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,
- global_options.x_param_values,
- global_options_set.x_param_values);
-
/* Look through ready list and all of queue for instructions
relevant for L2 auto-prefetcher. */
int param_sched_autopref_queue_depth;