This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [Patch,AVR] Fix PR46278, Take #3
- From: "Weddington, Eric" <Eric dot Weddington at atmel dot com>
- To: "Georg-Johann Lay" <avr at gjlay dot de>, <gcc-patches at gcc dot gnu dot org>
- Cc: "Anatoly Sokolov" <aesok at post dot ru>, "Denis Chertykov" <chertykov at gmail dot com>
- Date: Thu, 13 Oct 2011 12:47:27 -0600
- Subject: RE: [Patch,AVR] Fix PR46278, Take #3
- References: <4E96F664.1020602@gjlay.de>
> -----Original Message-----
> From: Georg-Johann Lay [mailto:avr@gjlay.de]
> Sent: Thursday, October 13, 2011 8:32 AM
> To: gcc-patches@gcc.gnu.org
> Cc: Anatoly Sokolov; Denis Chertykov; Weddington, Eric
> Subject: [Patch,AVR] Fix PR46278, Take #3
>
> This is yet another attempt to fix PR46278 (fake X addressing).
>
> After the previous clean-ups it is just a small change.
>
> caller-saves.c tries to eliminate call-clobbered hard-regs allocated
to
> pseudos
> around function calls and that leads to situations that reload is no
more
> capable to perform all requested spills because of the very few AVR's
> address
> registers.
>
> Thus, the patch adds a new target option -mstrict-X so that the user
can
> turn
> that option if he like to do so, and then -fcaller-save is disabled.
>
> The patch passes the testsuite without regressions. Moreover, the
> testsuite
> passes without regressions if all test cases are run with -mstrict-X
and
> all
> libraries (libgcc, avr-libc) are built with the new option turned on.
Hi Johann,
Sorry, I haven't been keeping up with the discussion on this PR.
But if all test cases pass with running -mstrict-X and everything built
with that option on, then why is this even an option? Is it because that
it may not always reduce code size?...
Thanks,
Eric