diff options
author | Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> | 2016-02-02 16:01:45 +0000 |
---|---|---|
committer | Denis Chertykov <denisc@gcc.gnu.org> | 2016-02-02 19:01:45 +0300 |
commit | c7088aeac8250400734696d8bb606764880ab5c3 (patch) | |
tree | c640c54e8cfeefb5b1c4d234e2a4c612b4186f77 /gcc | |
parent | 80cfaff84a426ff666d45c015a5848c80a097179 (diff) | |
download | gcc-c7088aeac8250400734696d8bb606764880ab5c3.zip gcc-c7088aeac8250400734696d8bb606764880ab5c3.tar.gz gcc-c7088aeac8250400734696d8bb606764880ab5c3.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/avr/avr.c | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3b548f5..c2d824e 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> + + * config/avr/avr.c (avr_option_override): Set + PARAM_ALLOW_STORE_DATA_RACES to 1. + 2016-02-02 Richard Biener <rguenther@suse.de> PR tree-optimization/69595 diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index e557772..a7728e3 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(). */ |