This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/46278] avr-gcc 4.5.1 doing suboptimal reloads using X
- From: "gjl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 14 Oct 2011 15:42:40 +0000
- Subject: [Bug target/46278] avr-gcc 4.5.1 doing suboptimal reloads using X
- Auto-submitted: auto-generated
- References: <bug-46278-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46278
--- Comment #6 from Georg-Johann Lay <gjl at gcc dot gnu.org> 2011-10-14 15:42:40 UTC ---
Author: gjl
Date: Fri Oct 14 15:42:33 2011
New Revision: 179993
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179993
Log:
PR target/46278
* doc/invoke.texi (AVR Options): Document -mstrict-X.
* config/avr/avr.opt (-mstrict-X): New option.
(avr_strict_X): New variable reflecting -mstrict-X.
* config/avr/avr.c (avr_reg_ok_for_addr_p): Add parameter
outer_code and pass it down to avr_regno_mode_code_ok_for_base_p.
(avr_legitimate_address_p): Pass outer_code to
avr_reg_ok_for_addr_p and use that function in case PLUS.
(avr_mode_code_base_reg_class): Depend on avr_strict_X.
(avr_regno_mode_code_ok_for_base_p): Ditto, and depend on outer_code.
(avr_option_override): Disable -fcaller-saves if -mstrict-X is on.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/avr/avr.c
trunk/gcc/config/avr/avr.opt
trunk/gcc/doc/invoke.texi