From c7088aeac8250400734696d8bb606764880ab5c3 Mon Sep 17 00:00:00 2001 From: Senthil Kumar Selvaraj Date: Tue, 2 Feb 2016 16:01:45 +0000 Subject: [PATCH] avr.c (avr_option_override): Set PARAM_ALLOW_STORE_DATA_RACES to 1. * config/avr/avr.c (avr_option_override): Set PARAM_ALLOW_STORE_DATA_RACES to 1. From-SVN: r233078 --- gcc/ChangeLog | 5 +++++ gcc/config/avr/avr.c | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b548f56a9d..c2d824e303e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-02-02 Senthil Kumar Selvaraj + + * config/avr/avr.c (avr_option_override): Set + PARAM_ALLOW_STORE_DATA_RACES to 1. + 2016-02-02 Richard Biener PR tree-optimization/69595 diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index e5577726c96..a7728e3b10c 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -43,6 +43,7 @@ #include "expr.h" #include "langhooks.h" #include "cfgrtl.h" +#include "params.h" #include "builtins.h" #include "context.h" #include "tree-pass.h" @@ -410,6 +411,15 @@ avr_option_override (void) if (avr_strict_X) flag_caller_saves = 0; + /* Allow optimizer to introduce store data races. This used to be the + default - it was changed because bigger targets did not see any + performance decrease. For the AVR though, disallowing data races + introduces additional code in LIM and increases reg pressure. */ + + maybe_set_param_value (PARAM_ALLOW_STORE_DATA_RACES, 1, + global_options.x_param_values, + global_options_set.x_param_values); + /* Unwind tables currently require a frame pointer for correctness, see toplev.c:process_options(). */ -- 2.30.2