[Bug middle-end/21990] Wrong code for 4.0 and head: Reload clobbers the frame pointer by using it as spill register without recognizing the clobbering

bjoern dot m dot haase at web dot de gcc-bugzilla@gcc.gnu.org
Tue Sep 19 20:16:00 GMT 2006



------- Comment #13 from bjoern dot m dot haase at web dot de  2006-09-19 20:16 -------
Hello Eric,

IIRC, the bug never was really resolved. The true place to fix the issue was,
IMO, the most dreaded source file of the entire GCC source tree: reload. 

My now quite old patch tried to fix the immediate problem without touching
reload and it used a fairly crude method by denying gcc to make use of Y in
many situations.

My test case generated code that was very difficult to handle by the register
allocator. This code triggered the bug. Later on some change in some of the
passes just before the 4.0.0 release removed the immediate problem. With 4.0
and afterwards I no longer succeeded to reproduce the bug:

The reason might be, that the original reload bug was fixed.
The reason might as well be that the reload bug is still there, but that it's
no longer exposed due to some other modification in the compiler.

The message is: There stand good chances that this bug is resolved, but I
cannot prove it.

In any case, I'd like to suggest *NOT* to make use of my old crude patch. IMO
it's better to just hope that the problem is fixed.

Until now, I never again stepped over this bug, so I have good confidence.

HTH,

Bjoern


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21990



More information about the Gcc-bugs mailing list