From 90b1c81d64556c24ef208e7fd012c08b044d847e Mon Sep 17 00:00:00 2001 From: Georg-Johann Lay Date: Thu, 4 Aug 2016 07:52:38 +0000 Subject: [PATCH] re PR target/70677 (Suboptimal cond on AVR: unneeded stack frame) PR 70677 * common/config/avr/avr-common.c (avr_option_optimization_table) [OPT_LEVELS_ALL]: Turn off -fcaller-saves. From-SVN: r239117 --- gcc/ChangeLog | 6 ++++++ gcc/common/config/avr/avr-common.c | 3 +++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0e5eea4e7ca..940096a131f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-08-04 Georg-Johann Lay + + PR 70677 + * common/config/avr/avr-common.c (avr_option_optimization_table) + [OPT_LEVELS_ALL]: Turn off -fcaller-saves. + 2016-08-04 Georg-Johann Lay PR 55181 diff --git a/gcc/common/config/avr/avr-common.c b/gcc/common/config/avr/avr-common.c index d0272e4cda7..75c877175c1 100644 --- a/gcc/common/config/avr/avr-common.c +++ b/gcc/common/config/avr/avr-common.c @@ -28,6 +28,9 @@ static const struct default_options avr_option_optimization_table[] = { { OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 }, + // The only effect of -fcaller-saves might be that it triggers + // a frame without need when it tries to be smart around calls. + { OPT_LEVELS_ALL, OPT_fcaller_saves, NULL, 0 }, { OPT_LEVELS_NONE, 0, NULL, 0 } }; -- 2.30.2