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 PR46779


On 06/14/2011 02:29 PM, Georg-Johann Lay wrote:
> http://gcc.gnu.org/ml/gcc-patches/2011-06/msg01029.html

It does look like a step in the right direction.

> I tested on some handcrafted examples and on the code attached to
> PR46278. The generated code looked very good and so I started
> regression testing but found at spill fail in
>   gcc.c-torture/compile/950612-1.c

What compiler options?  I tried -O{1,2,s,3} and they all passed.

> The major work left to be done are fixing spill fails and
> implementing appropriate LEGITIMIZE_RELOAD_ADDRESS which are beyond
> my skills.

L_R_A is a tad tricky, but there are good examples to copy from.

But you shouldn't need that to fix spill failures.  L_R_A should
simply be able to provide slightly better sharing between addresses.
Not that I expect that there will be many instances of that, since
you'll quickly run out of registers in which to share anything.

> BTW, fixing PR48459, Richard ran immediately into a spill failure during newlib build:
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48459#c20

FWIW, that spill failure vanishes with your patch.


r~


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