On Mon, 29 Jul 2019 at 18:49, Wilco Dijkstra <wilco.dijks...@arm.com> wrote: > > 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. SPEC2006 shows significant codesize reduction > 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. >
Hi Wilco, Do you know which benchmarks were used when this was checked-in? It isn't clear from https://gcc.gnu.org/ml/gcc-patches/2012-07/msg00706.html Thanks, Christophe > Bootstrap & regress OK on arm-none-linux-gnueabihf --with-cpu=cortex-a57 > > ChangeLog: > 2019-07-29 Wilco Dijkstra <wdijk...@arm.com> > > * config/arm/arm.c (arm_option_override): Don't override sched > pressure algorithm. > > -- > > diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c > index > 81286cadf32f908e045d704128c5e06842e0cc92..628cf02f23fb29392a63d87f561c3ee2fb73a515 > 100644 > --- a/gcc/config/arm/arm.c > +++ b/gcc/config/arm/arm.c > @@ -3575,11 +3575,6 @@ arm_option_override (void) > if (use_neon_for_64bits == 1) > prefer_neon_for_64bits = true; > > - /* 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; >