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~