This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch,AVR] Fix PR46278, Take #3


2011/10/14 Georg-Johann Lay <avr@gjlay.de>:
> Weddington, Eric schrieb:
>>
>>> 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?...
>
> An alternative would be to set -mstrict-X per default if -O or higher.
> Let's see what Denis thinks.

I think that it's just a great results.
I vote for committing this patch.
About "to set -mstrict-X per default": if it's possible to print
something like "Please use -mno-strict-X" instead of "Spill error
failure...." then we can use -mstrict-X by default.
i.e. how user can get a knowledge about a correlation between "Spill
error..." and -mstrict-X

Denis.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]