From d13a2d0a3722af84d4f0d313436f4b7650e02a44 Mon Sep 17 00:00:00 2001 From: denisc Date: Tue, 2 Feb 2016 16:01:45 +0000 Subject: [PATCH] * config/avr/avr.c (avr_option_override): Set PARAM_ALLOW_STORE_DATA_RACES to 1. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233078 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/avr/avr.c | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b548f56a9d0..c2d824e303ee 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 e5577726c962..a7728e3b10cf 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.47.3