mn10300 regression bugfix
Jeff Law
law@redhat.com
Sun Aug 31 17:08:00 GMT 2008
Pretty straightforward. The AM33-2 can't load an FP register directly
from a constant memory address. We correctly defined a secondary reload
for the common case, but missed that a pseudo might have an equivalent
memory location with a constant address.
If the pseudo failed to get a hard register, we use the equivalent
memory location and ultimately get an insn which doesn't match its
constraints.
The fix is rather obvious. I took the opportunity to factor a little
code since there's a couple places where we need to check a REG (or
SUBREG) to see if its a pseudo within mn10300_secondary_reload_class.
And the good news -- the other suspected IRA bug on the mn103 is
actually a bug in a libgloss linker script which caused the heap to
collide with some special C++ symbols. Needless to say this created
some strange behaviour.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: mn103.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20080831/9f74c58a/attachment.ksh>
More information about the Gcc-patches
mailing list